2010-08-29 5 views
2

Si j'émettez une requête comme ceci:MySQL, le tri devant un groupe par

select c1, c2, c3 
from table 
group by c1; 

i obtenir des résultats distincts pour c1, mais comment puis-je trier (par exemple c2 descendant) avant que le groupe par?

Répondre

9
select c1, c2, c3 
from (select c1, c2, c3 from table order by c2 desc) t 
group by c1; 
+0

Merci, fait le travail! – metafex

0

Votre question ne sait pas, mais si vous avez besoin obtenu valeur supérieure de c2 pour chaque c1 vous pouvez utiliser Max

select c1, Max(c2), Max(c3) 
from table 
group by c1 
0

Votre requête ne fonctionnera pas comme il est. Si je comprends ce que vous voulez essayer quelque chose de plus proche de celle-ci:

select c1, c2, c3 du groupe de table par c1, c2, ordre c3 c1, c2 desc