在SQLIte中按别名排序

问题描述

在执行以下操作后,我尝试使用ORDER BY对结果列的查询输出进行排序,但是该新创建列的顺序仍然是随机的。我可以使用以下(通用)代码解决此问题:

SELECT *,(column_one / column_two) AS 'Alias'

  FROM data_set

WHERE column_one > column_two

ORDER BY 'Alias'
;

解决方法

仅对字符串和日期常量使用单引号-禁止对列别名使用单引号。这样可以解决您的问题:

SELECT *,(column_one / column_two) AS Alias
FROM data_set
WHERE column_one > column_two
ORDER BY Alias

按字符串'Alias'进行订购并不能满足您的要求。