11

真的我不知道该怎么说这个问题,但是举个例子,每个人都会清楚,我从 MYSQL 数据库中检索到的数据按列之一排序,我的问题是,如果该列中的这些值之一相等,我需要使用另一列来设置谁首先显示。

col1 - col2
10 - 100
20 - 120
20 - 140
30 - 90

请参阅此处两次提到的值 20,因此我需要使用 MYSQL Query 在 20 和 120 之前显示 20 和 140。

4

3 回答 3

15
SELECT
    *
FROM
    MyTable
ORDER BY 
    Col1,
    Col2 DESC
于 2012-10-08T13:25:15.270 回答
5

order by您可以在子句中指定多个列:

select * from table order by col1, col2;

这将按 排序col1,然后按col2何时排序col1。您还可以为每列分别指定升序和降序:

select * from table order by col1 asc, col2 desc;
于 2012-10-08T13:26:20.130 回答
3

您可以在order by子句中添加多个列。

select * from your_table
order by col1, col2 desc

结果将按第一列排序,如果相等则按下一列排序,依此类推

于 2012-10-08T13:25:28.247 回答