Резултатите ви са по-ясни, ако действително изберете обобщените стойности вместо колони от таблицата:
SELECT SUM(id) FROM plant ORDER BY SUM(id)
Това ще върне сумата от всички идентификатори. Това разбира се е безполезен пример, тъй като агрегирането винаги ще създава само един ред, следователно няма нужда от подреждане. Причината да получите ред qith колони във вашата заявка е, че MySQL избира един ред, не произволно, но не и детерминиран. Случва се така, че това е първата колона в таблицата във вашия случай, но други може да получат друг ред в зависимост от механизма за съхранение, първичните ключове и така нататък. Следователно агрегирането само в клаузата ORDER BY не е много полезно.
Това, което обикновено искате да направите, е да групирате по определено поле и след това да подредите резултатния набор по някакъв начин:
SELECT fruit, COUNT(*)
FROM plant
GROUP BY fruit
ORDER BY COUNT(*)
Сега това е по-интересно запитване! Това ще ви даде един ред за всеки плод заедно с общия брой за този плод. Опитайте да добавите още ябълки и подреждането всъщност ще започне да има смисъл:
Пълна таблица:
+----+--------+
| id | fruit |
+----+--------+
| 1 | banana |
| 2 | apple |
| 3 | orange |
| 4 | apple |
| 5 | apple |
| 6 | banana |
+----+--------+
Запитването по-горе:
+--------+----------+
| fruit | COUNT(*) |
+--------+----------+
| orange | 1 |
| banana | 2 |
| apple | 3 |
+--------+----------+