如何在SQL Server中对数量负数和正数进行排序

the*_*nna 1 database sql-server

我有SQL Server.我有超过20000行使用SQL server.I有列Filed Name Amount.in Amount Filed Inserted negative和Positive Number.现在我想要Sort Amount字段负数和正数

示例如:

Entity  ExpenseTypeCode ExpenseType  Amount

  11       043            Hotel        5

  12       044            travel       23

  13       045            drink        55

  14       046            Dinner       23

  15       047            airline      556

  16       048            Hotel        -5
Run Code Online (Sandbox Code Playgroud)

我怎么喜欢超过30000 LINES.在我的表中我有费用类型但负值和正值我想要排序我的表像负和正序相同值

Entity ExpenseTypeCode ExpenseType Amount

  11       043            Hotel        5

  16       048            Hotel        -5 --> Want sort like this 

  12       044            travel       23

  13       045            drink        55

  14       046            Dinner       23

  15       047            airline      556
Run Code Online (Sandbox Code Playgroud)

我怎样才能对表格进行排序?

San*_*per 5

在排序中使用ABS功能:

ABS():它会将您的负值转换为正值

SELECT
    *
FROM TableName 
Order BY ABS(Amount)
Run Code Online (Sandbox Code Playgroud)

如果你想要的话,如果负值和正值相同,那么顺序应该首先考虑为正:

SELECT
    *
FROM TableName 
Order BY ABS(Amount),Amount*-1
Run Code Online (Sandbox Code Playgroud)

例:

初始

在此输入图像描述

产量

在此输入图像描述