mysql 未使用 Order by using DESC 进行排序

mysql not ordering using Order by using DESC

在 ubuntu

上使用 mysql

以下命令未按降序排列

mysql> select spo_id, count(spo_id) as "maxCount" from order_details GROUP BY spo_id ORDER BY "maxCount" DESC;
+--------+----------+
| spo_id | maxCount |
+--------+----------+
|      1 |        1 |
|      2 |        3 |
|      3 |        1 |
+--------+----------+
3 rows in set (0.00 sec)

MySQL 允许带双引号的字符串文字。因此,当您按 "maxCount" 排序时,您实际上是在按字符串文字排序,这是毫无意义的。删除引号,它应该可以正常工作:

MariaDB [db]> select spo_id, count(spo_id) as maxCount from order_details GROUP BY spo_id ORDER BY maxCount DESC;
+--------+----------+
| spo_id | maxCount |
+--------+----------+
|      2 |        3 |
|      3 |        1 |
|      1 |        1 |
+--------+----------+
3 rows in set (0.00 sec)