MySQL,按动态字段排序

时间:2012-08-28 09:36:38

标签: mysql sql

我想统计某些语言的网站以获取统计信息并使用此查询:

SELECT `language_id` , count( * ) AS 'num'
FROM sites
WHERE `language_id` != 0
GROUP BY `language_id`
ORDER BY 'num' ASC

num字段未对结果进行排序。我的SQL出了什么问题?

1 个答案:

答案 0 :(得分:5)

问题是您使用单引号num字符引用别名',该字符恰好在创建别名时有效,但在{{1}中被视为文字字符串子句:因为它在结果中不变,所以它不会影响排序顺序。反引号字符在两个子句中都有效。请尝试改为:

ORDER BY