Mysql 降序的 Order by 子句
Mysql Order by clause for decending order
参考我的。
我在 order by 子句中附加了 M_id 以使其唯一排序。
我创建了一个 sqlfiddle:http://sqlfiddle.com/#!2/8f2340/3
现在我遇到 DESC
订购问题。
以下查询给出了预期的结果。
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM` LIMIT 0,60
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` LIMIT 0,60
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` ASC LIMIT 0,60
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM` DESC LIMIT 0,60
以下查询未给出预期结果。
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` DESC LIMIT 0,60
请帮帮我。
谢谢。
据推测,您希望 order by
中第一个键上的 desc
:
SELECT `M_ID`, `CON_FRST_NM`
FROM `sample_table`
ORDER BY `CON_FRST_NM` DESC, `M_ID`
LIMIT 0, 60;
您可以按不同的方向对不同的列进行排序。例如-
SELECT `M_ID`, `CON_FRST_NM`
FROM `sample_table`
ORDER BY `CON_FRST_NM` DESC, `M_ID` ASC
LIMIT 0, 60;
或
SELECT `M_ID`, `CON_FRST_NM`
FROM `sample_table`
ORDER BY `CON_FRST_NM` DESC, `M_ID` DESC
LIMIT 0, 60;
如果不指定方向,默认为ASC。因此,在您的查询中
SELECT `M_ID`, `CON_FRST_NM`
FROM `sample_table`
ORDER BY `CON_FRST_NM`, `M_ID` DESC
LIMIT 0, 60;
结果将首先按 CON_FRST_NM
升序排序,然后按 M_ID
降序排序。
参考我的
我在 order by 子句中附加了 M_id 以使其唯一排序。
我创建了一个 sqlfiddle:http://sqlfiddle.com/#!2/8f2340/3
现在我遇到 DESC
订购问题。
以下查询给出了预期的结果。
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM` LIMIT 0,60
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` LIMIT 0,60
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` ASC LIMIT 0,60
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM` DESC LIMIT 0,60
以下查询未给出预期结果。
SELECT `M_ID`, `CON_FRST_NM` FROM `sample_table` order by `CON_FRST_NM`,`M_ID` DESC LIMIT 0,60
请帮帮我。
谢谢。
据推测,您希望 order by
中第一个键上的 desc
:
SELECT `M_ID`, `CON_FRST_NM`
FROM `sample_table`
ORDER BY `CON_FRST_NM` DESC, `M_ID`
LIMIT 0, 60;
您可以按不同的方向对不同的列进行排序。例如-
SELECT `M_ID`, `CON_FRST_NM`
FROM `sample_table`
ORDER BY `CON_FRST_NM` DESC, `M_ID` ASC
LIMIT 0, 60;
或
SELECT `M_ID`, `CON_FRST_NM`
FROM `sample_table`
ORDER BY `CON_FRST_NM` DESC, `M_ID` DESC
LIMIT 0, 60;
如果不指定方向,默认为ASC。因此,在您的查询中
SELECT `M_ID`, `CON_FRST_NM`
FROM `sample_table`
ORDER BY `CON_FRST_NM`, `M_ID` DESC
LIMIT 0, 60;
结果将首先按 CON_FRST_NM
升序排序,然后按 M_ID
降序排序。