我有一个sql
SELECT A,B,C FROM TABLE ORDER BY A,B,C DESC这里我想问一下
这样的sql,排序出来的结果是根据A先排序,然后再排B,最后排C
还是先根据C排序,然后排B,最后排A呢?我根据测试结果是先排C,这里和mssql不一样,所以需要确认一下,希望知道的朋友告诉我下

解决方案 »

  1.   

    一样的,都是按A,B,C先后顺序排.
      

  2.   

    我这里有创建了数据和表CREATE TABLE cn_pm.TEST(A INT,B INT,C INT)
    INSERT INTO cn_pm.TEST VALUES(1,2,3)
    INSERT INTO cn_pm.TEST VALUES(1,3,4)
    INSERT INTO cn_pm.TEST VALUES(1,4,5)
    INSERT INTO cn_pm.TEST VALUES(2,5,6)
    INSERT INTO cn_pm.TEST VALUES(2,8,9)
    INSERT INTO cn_pm.TEST VALUES(3,6,7)
    我需要达到的效果是
    3,6,7
    2,8,9
    2,5,6
    1,4,5
    1,3,4
    1,2,3
    字面意思为先按照A逆序,然后再对比B的值,大的在前,小的在后,最后比较C,大的在前小的在后我写了两个sql,都没有满足效果,不知道是什么原因,大侠们回答下
    SELECT * FROM cn_pm.TEST ORDER BY A,B,C DESC SELECT * FROM CN_PM.TEST ORDER BY C,B,A DESC
      

  3.   


    select * from test order by a desc,b desc,c--RESULT:1 3 6 7
    2 2 8 9
    3 2 5 6
    4 1 4 5
    5 1 3 4
    6 1 2 3
      

  4.   

    每个排序字段单独使用 desc
      

  5.   

    谢谢大家,我的效果已经出来了但是我想问下,这种ORDER BY A,B,C DESC
    这种方式是什么意思?
    我从测试的结果中,看不出规律来
      

  6.   

    ORDER BY A,B,C DESC 系统默认是A,B都是ASC C是DESC
      

  7.   

    按照你写的顺序排序,不写DESC就是ASC