Seus resultados são mais claros se você realmente selecionar os valores agregados em vez de colunas da tabela:
SELECT SUM(id) FROM plant ORDER BY SUM(id)
Isso retornará a soma de todos os IDs. Este é, obviamente, um exemplo inútil porque a agregação sempre criará apenas uma linha, portanto, não há necessidade de ordenação. A razão pela qual você obtém uma linha com colunas em sua consulta é porque o MySQL escolhe uma linha, não aleatoriamente, mas também não determinística. Acontece que é a primeira coluna da tabela no seu caso, mas outras podem obter outra linha dependendo do mecanismo de armazenamento, chaves primárias e assim por diante. A agregação apenas na cláusula ORDER BY não é muito útil.
O que você geralmente quer fazer é agrupar por um determinado campo e depois ordenar o conjunto de resultados de alguma forma:
SELECT fruit, COUNT(*)
FROM plant
GROUP BY fruit
ORDER BY COUNT(*)
Agora que é uma consulta mais interessante! Isso lhe dará uma linha para cada fruta junto com a contagem total para aquela fruta. Tente adicionar mais algumas maçãs e a ordem realmente começará a fazer sentido:
Tabela completa:
+----+--------+
| id | fruit |
+----+--------+
| 1 | banana |
| 2 | apple |
| 3 | orange |
| 4 | apple |
| 5 | apple |
| 6 | banana |
+----+--------+
A consulta acima:
+--------+----------+
| fruit | COUNT(*) |
+--------+----------+
| orange | 1 |
| banana | 2 |
| apple | 3 |
+--------+----------+