首页 > 解决方案 > 如何在sql中使用2列排序

问题描述

这是示例表

name | group
 a   |   2
 b   |   1
 c   |   1
 d   |   2
 e   |   4
 f   |   3
 g   |   4

如何对名称为 asc 的数据进行排序,并将 asc 分组,如下表所示

name | group
 a   |   2
 d   |   2
 b   |   1
 c   |   1
 e   |   4
 g   |   4
 f   |   3

我已经尝试过

select * from table order by name asc, group asc

结果并不像我的预期

标签: sqlsqlitesql-order-by

解决方案


我想你想要:

SELECT *
FROM yourTable
ORDER BY "group" DESC, name;

也就是说,您要先按列降序排序,然后group按列升序name排序。请注意,默认排序顺序是升序,所以通常我们不写ASC. 此外,GROUP是一个保留的 SQL 关键字,您应该避免使用此名称命名您的列。


推荐阅读