SQL 按绝对值排序

标签 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) 显示为一组数据

最佳答案

您可以简单地使用 ABS()函数,返回数字的绝对值:

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

此查询将按 Column_2 的绝对值排序

关于SQL 按绝对值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37989814/

相关文章:

tsql - 如果…ELSE…两个互斥插入INTO #temptable

sql - 如何获取SQL Server表结构更改的历史记录

android - 无法在android中的SQLite中插入记录

sql - 如何获取SQL Server中sql表中没有一列的所有列名

php - 为什么 CodeIgniter 会耗尽允许的内存大小?

sql - 重建索引会使我的生产数据库停止工作吗?

sql - MYSQL 支持的最大记录数和表数是多少?

MySQL 多选查询

sql - 带有 SQL 查询的函数没有结果数据的目的地

java.lang.UnsatisfiedLinkError : Native Library sqljdbc_auth. dll 已经加载到另一个类加载器中