如何编写 SQL 以便结果可以先按 A 列排序,然后按 B 列排序。如下所示:
SELECT * FROM tbl WHERE predictor ORDER by col_A and ORDER by col_B
ORDER BY col_A, col_B
SQLite 网站有 语法图 解释 SQLite 支持的 SQL 语法。
只需将逗号分隔的列列表提供给 ORDER BY:
SELECT * from table WHERE table.foo=bar ORDER BY colA, colB
ORDER BY 子句导致输出 要排序的行。论点为 ORDER BY 是一个表达式列表, 用作排序的键。这 表达式不必是 简单 SELECT 的结果,但在 复合 SELECT 各排序表达式 必须与结果之一完全匹配 列。每个排序表达式可以是 可选地后跟 COLLATE 关键字和整理的名称 用于排序文本和/或 关键字 ASC 或 DESC 来指定 排序顺序。
SELECT * FROM tbl WHERE predictor ORDER by col_A, col_B
如果您需要使用 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);