possível ter uma consulta SQL que use as funções AGG dessa maneir
Assumindo que tenho as seguintes funções agregadas:
AGG1 AGG2 AGG3 AGG4possível escrever SQL válido (de uma maneira independente de banco de dados) assi
SELECT [COL1, COL2 ....], AGG1(param1), AGG2(param2) FROM [SOME TABLES]
WHERE [SOME CRITERIA]
HAVING AGG3(param2) >-1 and AGG4(param4) < 123
GROUP BY COL1, COL2, ... COLN
ORDER BY COL1, COLN ASC
LIMIT 10
Onde COL1 ... COLN são colunas nas tabelas que estão sendo consultadas e param1 ... paramX são parâmetros passados para as funções AG
ota: AGG1 e AGG2 são retornados nos resultados como colunas (mas não aparecem na CLÁUSULA HAVING, e AGG3 e AGG4 aparecem na CLÁUSULA HAVING, mas não são retornados no conjunto de resultados.
Ideally, eu quero uma resposta independente de banco de dados para a solução, mas se eu tiver que estar vinculado a um banco de dados, estou usando o PostgreSQL (v9.x
EditaApenas uma questão de esclarecimento: não sou contra o uso de GROUP BY na consulta. Meu SQL não é muito bom, portanto o exemplo acima pode ter sido um pouco enganador. Eu editei a declaração pseudo sql acima para, com sorte, tornar minha intenção mais clar
principal coisa que eu queria descobrir era se uma consulta de seleção que usava funções AGG poderi
Tenha valores de funções agg na coluna retornada sem que eles sejam especificados em uma cláusula HAVINTem funções agg especificadas em uma cláusula HAVING, mas não são retornadas no conjunto de resultadoDas respostas que recebi até agora, parece que a resposta para ambas as perguntas é SIM. A única coisa que preciso fazer para corrigir meu SQL é adicionar uma cláusula GROUP BY para garantir que as linhas retornadas sejam exclusiva