如何先按A列排序,再按B列排序?

问题描述 投票:0回答:4

如何编写 SQL 以便结果可以先按 A 列排序,然后按 B 列排序。如下所示:

SELECT * FROM tbl WHERE predictor ORDER by col_A and ORDER by col_B
sql select sql-order-by
4个回答
146
投票
ORDER BY col_A, col_B

SQLite 网站有 语法图 解释 SQLite 支持的 SQL 语法。


25
投票

只需将逗号分隔的列列表提供给 ORDER BY:

SELECT * from table WHERE table.foo=bar ORDER BY colA, colB

ORDER BY 子句导致输出 要排序的行。论点为 ORDER BY 是一个表达式列表, 用作排序的键。这 表达式不必是 简单 SELECT 的结果,但在 复合 SELECT 各排序表达式 必须与结果之一完全匹配 列。每个排序表达式可以是 可选地后跟 COLLATE 关键字和整理的名称 用于排序文本和/或 关键字 ASC 或 DESC 来指定 排序顺序。


11
投票
SELECT * FROM tbl WHERE predictor ORDER by col_A, col_B

0
投票

如果您需要使用 asc/desc 排序:

SELECT * FROM tbl 
WHERE predictor 
ORDER by col_A asc, col_B desc

以上相当于实体框架:

someDbSet<T>
  .OrderBy(t => t.col_A)
  .ThenByDescending(x => x.col_B);
© www.soinside.com 2019 - 2024. All rights reserved.