在SQL Server中,多字段排序是通过ORDER BY子句实现的,可以同时指定多个排序字段及其排序方向(升序ASC或降序DESC)。以下是关键要点:
-
基本语法
SELECT 列名 FROM 表名 ORDER BY 列1 [ASC|DESC], 列2 [ASC|DESC], ...;默认排序方向为升序(ASC可省略)。
-
排序优先级规则
- 字段优先级从左到右依次降低,先按第一个字段排序,相同值时再按第二个字段排序,依此类推。
- 示例:
先按用户名升序,用户名相同时再按昵称降序。SELECT * FROM users ORDER BY username ASC, nickname DESC;
-
混合排序方向
各字段可独立指定升序或降序:SELECT * FROM orders ORDER BY customer_id ASC, order_date DESC;先按客户ID升序,再按订单日期降序。
-
表达式排序
支持对计算结果排序,如按折扣后价格降序:SELECT product_id, price, discount FROM products ORDER BY price*(1-discount) DESC; -
NULL值处理
NULL值默认在升序时排在最前,降序时排在最后,具体行为可能因数据库配置而异。
1355

被折叠的 条评论
为什么被折叠?



