我的下表中有一些数据
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)显示为一组数据
答案 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