我正在尝试以升序运行此查询:
SELECT title,project_index
FROM projectdetail
WHERE project_index BETWEEN 1 AND 6
ORDER BY title, project_index ASC;我需要两列按升序排列,但上面的查询返回的结果中只有一列按ASC顺序排列。
发布于 2012-01-30 19:34:44
升序是大多数(如果不是全部)数据库管理系统的默认,因此您的语句在这方面有点奇怪,但是,您可以通过向列添加说明符ASC或DESC来为每个单独的列指定顺序。
那么你的语句就会变成
SELECT title
, project_index
FROM projectdetail
WHERE project_index BETWEEN 1 AND 6
ORDER BY
title ASC
, project_index ASC编辑
正如@Arvo & @Dems所提到的,目前您正在title上对first进行排序,并在project_index上对相同的标题进行排序。如果希望首先对project_index进行排序,则必须首先将其放在ORDER BY子句中。
然后,您的语句将变为
SELECT title
, project_index
FROM projectdetail
WHERE project_index BETWEEN 1 AND 6
ORDER BY
project_index ASC
, title ASC因为ASC是默认的排序顺序,所以您可以将它们一起省略
SELECT title
, project_index
FROM projectdetail
WHERE project_index BETWEEN 1 AND 6
ORDER BY
project_index
, title发布于 2012-01-30 19:33:31
如果您使用的是mysql,请查看this。
就像他们说的,你可以使用SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC;
发布于 2016-10-16 13:57:47
按标题排序、project_index按标题排序;
SELECT title,project_index
FROM projectdetail
WHERE project_index BETWEEN 1 AND 6
ORDER BY title ASC, project_index ASC;您还可以添加更多列,如ORDER BY col1 ASC, col2 ASC, col3 DESC;
https://stackoverflow.com/questions/9063135
复制相似问题