select DISTINCT A, B from C where 1=1 order by B
do resultado da consulta acima, eu preciso pegar somente os valores de A
att,
select DISTINCT A, B from C where 1=1 order by B
do resultado da consulta acima, eu preciso pegar somente os valores de A
att,
Entao, tente o seguinte:
select distinct A from C where 1=1 order by C.B
Abracao
Assim não é possível, pq o elemento do order by deve estar presente na consulta…
então, essa consulta: select DISTINCT A, B from C where 1=1 order by B
vai me retornar valores distintos d o par A,B, certo??? eu precisa pegar esse resultado e aplicar em cima dele, outra consulta… pra pegar somente os distintos de A…
Creio que voce queira uma subquery do tipo:
SELECT *
FROM sp a
WHERE qty >ALL (SELECT qty FROM sp b
WHERE a.pno = b.pno
AND a.sno <> b.sno
AND qty IS NOT NULL)
abracao
não, o q eu quero é isso:
Imagine a tabela:
numero | data_criacao
0001 | 01/02/09
0002 | 01/02/09
0002 | 03/02/09
0003 | 02/02/09
0004 | 02/02/09
Repare q o número 0002, aparece duas vezes.
com essa sql: select DISTINCT A, B from C where 1=1 order by B
teríamos:
0001 | 01/02/09
0002 | 01/02/09
0003 | 02/02/09
0004 | 02/02/09
0002 | 03/02/09
…
eu preciso ordenar por data, mas só preciso dos números distintos… tipo:
0001
0003
0004
0002
Isso não vai funcionar, porque vc tem o dado “0002” em duas datas deiferentes, qual das duas datas vc quer?
Pelo o que vc disse, se vc ordenar por data de varia vir assim:
0001
0002
0003
0004
e não
0001
0003
0004
0002
como vc disse
repare nas datas…
se ordenar pela data… deve vir assim mesmo:
0001
0003
0004
0002
e é dessa forma q eu preciso desses registros…
Entao o negocio é voce AGRUPAR os resultados com a clausula GROUP BY e depois ordenar com ORDER BY:
select DISTINCT A, B from C where 1=1 group by A order by B
Abraco
Voce tem isso:
0001 | 01/02/09
0002 | 01/02/09
0003 | 02/02/09
0004 | 02/02/09
0002 | 03/02/09
Se tiver mais de uma data, vc quer retornar apena 1 vez ordenado pela data maior?
is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
exatamente isso spycall
Qual banco vc está usando?
bem… no caso eu tô fazendo uma HQL… preciso usar no postgres, sqlserver e oracle