Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Formatação da query Select

Quanto a formatação da query Select,

Exemplo 1: SELECT FORMA_PAGTO, SUM(VALOR) AS SOMA FROM COMPRAS WHERE DATA < '10-NOV-2010' GROUP BY FORMA_PAGTO;

Exemplo 2: SELECT FORMA_PAGTO, SUM(VALOR) AS SOMA FROM COMPRAS GROUP BY FORMA_PAGTO WHERE DATA < '10-NOV-2010' ;

O GROUP BY tem um local específico para permanecer?

2 respostas

Ivan,

Sim cada palavra reservada tem um local na sintaxe do sql.

No caso somente o exemplo 1 irá funcionar, pois o group by deve vir depois do where.

solução!

A ordem das cláusulas deverá ser feita da seguinte forma:

SELECT DISTINCT coluna, FUNCAO(coluna ou expressão), …
FROM tabela
    JOIN outra_tabela
      ON tabela.coluna = outra_tabela.coluna
    WHERE expressão
    GROUP BY coluna /*ela deve estar presente no SELECT*/
    HAVING expressão
    ORDER BY coluna ASC/DESC;

Referência: https://sqlbolt.com/lesson/select_queries_order_of_execution