Jump to content
Ygor Guedes

[RESOLVIDO] Inner Join com Group By

Recommended Posts

Boa tarde meu pessoal. Preciso da ajuda de vocês em uma consulta baseada em Inner Join + Group By. Irei deixar as tabelas e a consulta que eu tenho, para melhor visualização:

 

Consulta: 

SELECT tab_garagens.onibus_ponto, tab_garagens.onibus_prefixo, data FROM pontos INNER JOIN tab_garagens ON pontos.onibus_ponto = tab_garagens.onibus_ponto

Tabela pontos:

| onibus_ponto |                data                |

|           10           |  2019-06-03 12:00:00 |

|           10           |  2019-06-03 12:10:00 |

|           44           |  2019-06-03 12:00:00 |

 

Tabela tab_garagens:

| onibus_ponto |  onibus_prefixo  |

|           10           |      DE700            |

|           44           |      GL030            |

 

A minha consulta está trazendo a informação mais antiga da data; o que eu preciso é tipo um ORDER BY com data mais recente, onde eu pego a data mais atual do registro agrupado na coluna 'onibus_ponto'.

 

Eu gostaria que saísse assim: 

 

| onibus_ponto |  onibus_prefixo |             data                  |

|        10              |       DE700          | 2019-06-03 12:10:00 |

|        44              |       GL030          | 2019-06-03 12:00:00 |

 

Se puderem me ajudar, fico agradecido

Share this post


Link to post
Share on other sites

Pessoal. Consegui resolver o problema. Faltou um MAX(data) AS data na consulta. Ficando assim:

SELECT tab_garagens.onibus_ponto, tab_garagens.onibus_prefixo, MAX(data) AS data FROM pontos INNER JOIN tab_garagens ON pontos.onibus_ponto = tab_garagens.onibus_ponto

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
    • By alexandre.koupaka
      Salve galera,
      Estou com a tarefa de criar uma infra de alta disponibilidade de MariaDB,
      Para os servidores de MariaDB pretendo utilizar Galera, alguém tem uma sugestão melhor?
      Outra duvida seria nos pros e contras de usar MariaDB em Multi-master e Master-Slave?
      Para o proxy e Balanceador de carga tenho duvida entre HaProxy que trabalha na camada OSI de transporte, Proxy e MaxScale, ambos trabalham na camada de aplicação,
      na quesito velocidade acredito que o HaProxy seja mais rápido, porém não tem muitas funcionalidade como o outros dois, quais vcs me aconselham?
       
    • By milokoz
      Basicamente eu estou com um leve problema:
      Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\_config\classes\class.MySQL.php on line 17
      Não foi possível encontrar o banco de dados "test".
      A DB está criada no PHP 
      http://prntscr.com/p5epzn

      e esta nomeada corretamente
      # Definições e conexão com à DATABASE
      define("DB_HOST", "localhost");
      define("DB_PORT", "3303");
      define("DB_USER", "root");
      define("DB_PASS", "");
      define("DB_NAME", "test");
    • By erikalopes
      Olá pessoas, eu estou estudando Banco de Dados (postgresql com pgadmin3) e
      criei as seguintes tabelas (Foto), e agora eu preciso selecionar nome de medico e paciente que estão na tabela consulta,
      eu tentei de algumas maneiras como esta abaixo, filtrando por nome da clinica, porém ele me dá esse erro:
       
      ERROR:  table name "pessoa" specified more than once
       
      -----------------------------------------------------------------------------------------------------------------------------------------
      -----------------------------------------------------------------------------------------------------------------------------------------
      alguém poderia me ajudar a filtrar essas informações usando inner join?

    • By Sapinn
      Salve comunidade! Volto aqui com uma dúvida que está persistindo. Estou desenvolvendo um site de redações online em que o professor corrigi e a correção fica estacada
      Exemplo:
      Eu gosta mas de você.
      Quando ele for ver a correção terá:
      Eu gosto mas(o correto seria "mais") de você.
      O problema é que quando é um texto muito grande como uma redação ele além de marcar a diferença entre os textos marca outras palavras.
      Talvez haja um problema no código ou fazer isso seja impossivel mas eu queria basicamente o que o site https://clevert.com.br/comp/ faz.
      Alguém me ajuda ai na moral.
      Aqui está meu código:
      <?php $id = $_GET['id']; $pega = mysql_query("select * from correcao where codigo_redacao='$id'")or die(mysql_error()); $linhacorrecao = mysql_fetch_assoc($pega); ?> <?php function get_str_difs($str1, $str2) { $first = explode(" ", $str1); $second = explode(" ", $str2); $arrDif1 = array_diff($first,$second); $arrDif2 = array_diff($second,$first); $old = ''; $new = ''; foreach($first as $word) { if(in_array($word,$arrDif1)) { $old .= "<del style='background-color:#ffcccc'>" . $word . "</del> "; continue; } $old .= $word . " "; } foreach($second as $word) { if(in_array($word,$arrDif2)) { $new .= "<b style='color:red;'> " . $word . " </b>"; continue; } $new .= $word . " "; } return array('old' => $old, 'new' => $new); } $str1 = $linha['redacao']; $str2 = $linhacorrecao['correcao']; $difs = get_str_difs($str1, $str2); echo ' <center><div class="correcao" name="redacao" rows="30" cols="100">'.$difs['new']. '</div></center>';   ?>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.