2013-05-19 9 views

Odpowiedz

16
select 
    name, 
    sum(votes) as total_votes 
from mytable 
group by 1 
order by 2 desc 
+3

Lub, bardziej przystępnie, "grupa według nazwy" i "zamówienie według sumy (głosów)". Nigdy nie byłem fanem odwoływania się do kolumn według pozycji. – IMSoP

+0

Wielkie dzięki, działa jak czar! Btw IMSoP, czy nie powinno to być 'order by total_votes'? – Cheezen

+1

@IMSoP jest w standardzie SQL, a ja * zawsze * używam pozycji kolumny zamiast expession w grupie/kolejności według. Obsługa jest o wiele mniej używana, ponieważ wyrażenie może być a) długie, co powoduje, że grupa jest nieczytelna, a b) zmienione, co oznacza, że ​​trzeba skopiować i wkleić nowe wyrażenie do obu grup i uporządkować według klauzul - więcej kłopotów i szczerze mówiąc brak wartości – Bohemian

Powiązane problemy