2

列中的值具有负整数和正整数。我想按绝对值对列进行排序。我如何最好在 Access 或 SQL 中执行此操作?谢谢。

4

3 回答 3

6

在 MSSQL 中:

使用ABS()要排序的列上的函数。IE:

SELECT a, ABS(b) FROM tbl ORDER BY ABS(b)

于 2012-04-23T04:34:37.763 回答
3
select col1, Abs(col2) from table Order by 2;

按 2 排序,在 select 语句中取第二列,您可以在 select 中指定表示序列的任何数字
编辑:
这不是推荐的做法,因为:

  1. 这不明显/不明确
  2. 如果列顺序发生变化,查询仍然有效,因此您可能会冒着按您不想要的东西排序的风险


另一种方法可能是使用 Column Alias: 类似:

select Abs(col1) as ABSID, * from Table order by ABSID;
于 2012-04-23T04:36:57.623 回答
0

排序有两种类型,升序和降序。Sql 提供函数(order by) asc 升序和 desc 降序...

例如:一个表包含值列表,例如 Employee_ID 01 02 06 08 04

这些值可以按升序排序为,

Select Employee_ID FROM tablename order by Employee_ID ASC

这会按升序列出值,例如 Employee_ID 01 02 04 06 08

这些值可以按降序排序为,

Select Employee_ID FROM tablename order by Employee_ID DESC

这会按降序列出值,例如 Employee_ID 08 06 04 02 01

希望,你得到你的答案。回复更多澄清..

于 2014-01-17T07:57:41.313 回答