Sql按不同顺序按多个字段排序

时间:2014-01-30 06:34:22

标签: sql

嗨,我有下表......

FirstNumber SecondNumber
    3            2
    2            5
    9            0
    1            4
    8            7
    2            2
    1            4

如果我使用这个SQL语句......

SELECT *
FROM Table
ORDER BY FirstNumber,SecondNumber;

我应该有下面显示的数据......这通过FirstNumber对数字进行排序,如果有重复数据,它会按照ASCENDING顺序按SecondNumber对行进行排序,因为默认情况下它是......

FirstNumber SecondNumber
    1            4
    1            4
    2            2
    2            5
    3            2
    8            7
    9            0

但是,我希望实现不同的排序。我希望FirstCumber在ASCENDING中订购,如果有重复,我希望它们由DESCENDING SecondNumber订购。我该怎么做呢?所以基本上我想要下面的数据......

FirstNumber SecondNumber
    1            4
    1            4
    2            5
    2            2
    3            2
    8            7
    9            0

非常感谢:)

4 个答案:

答案 0 :(得分:1)

好吧,这段代码似乎会

  SELECT *
    FROM Table
ORDER BY FirstNumber asc,   -- <- ascending
         SecondNumber desc  -- <- descending

答案 1 :(得分:0)

将查询更改为

SELECT *
FROM Table
ORDER BY FirstNumber,SecondNumber DESC;

来自SQL ORDER BY Keyword

  

ORDER BY关键字用于对结果集进行一个或多个排序   列。 ORDER BY关键字按升序对记录进行排序   默认情况下。要按降序对记录进行排序,可以使用   DESC关键字。

答案 2 :(得分:0)

试试这个

SELECT  *
FROM    mytable
ORDER BY
        coloumn1 ASC, coloumn2 DESC

答案 3 :(得分:0)

Select *

From Table

Order By FirstNumber, SecondNumber desc;

这将为您提供所需的输出。