如果相等,按列排序,按另一个排序

时间:2012-10-08 13:23:19

标签: sql

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

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

在这里看到值20提到两次,所以我需要在使用MYSQL查询的120与120之前显示20与140。

3 个答案:

答案 0 :(得分:11)

SELECT
    *
FROM
    MyTable
ORDER BY 
    Col1,
    Col2 DESC

答案 1 :(得分:4)

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

select * from table order by col1, col2;

这将按col1排序,然后在col2相等时按col1排序。您还可以为每列单独指定升序和降序:

select * from table order by col1 asc, col2 desc;

答案 2 :(得分:2)

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

select * from your_table
order by col1, col2 desc

结果将按第一列排序,如果等于下一个等等