SQL顺序的绝对值

时间:2016-06-23 11:05:17

标签: sql sql-server sql-server-2012

我的下表中有一些数据

table_1
     column_1     column_2
        1           10
        1           20
        1           30
        1           40
        1           50
        2           -10
        2           -20
        2           -30
        2           -40
        2           -50

我想将此结果更改为此类

 column_1     column_2
    1           10
    2           -10
    1           20
    2           -20
    1           30
    2           -30
    1           40
    2           -40
    1           50
    2           -50

我不确定是否有办法使用order by执行此操作?我想要展示的是我试图将(10,-10)显示为一组数据

3 个答案:

答案 0 :(得分:10)

SELECT * 
FROM <table>
ORDER BY abs(column_2), column_2 desc

答案 1 :(得分:7)

您只需使用ABS()函数,即返回数字的绝对值:

SELECT * FROM YourTable
ORDER BY ABS(Column_2),column_2 desc

此查询将按Column_2

的绝对值排序

答案 2 :(得分:2)

看起来你想要排序第二列的绝对值,然后是第一列。

select column_1, column_2 from table_1 order by abs(column_2),column_1