MySQL 排序 DESC 和 ASC

标签 mysql sql sorting

我有一个包含字段的表:

id | group_id
1  | null
2  | null
3  | null
4  | 4
5  | 4
6  | 4
7  | 7
8  | 7
9  | null

我想将其排序为:

id | group_id
9  | null
7  | 7
8  | 7
4  | 4
5  | 4
6  | 4
3  | null
2  | null
1  | null

所以整体上按 id 降序,但当他们共享一个 group_id 时按 id 升序

谢谢

最佳答案

试一试

Select id, group_id, coalesce(group_id, id) from table order by 3 desc, 1

关于MySQL 排序 DESC 和 ASC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45928229/

相关文章:

mysql - mysql建表时为什么会出现这个错误?

MySQL 根据另一个表的值更新表

PHP 对 while 循环中的变量求和

sql - 如何在 postgresql 或使用一些 sql 查询技巧中显示空结果集

java - 如何根据 Collection 值的大小对 Map 进行排序?

mysql - NodeJS/Sequelize/MySQL - 为什么需要 postgres 依赖项?

python - 从查询到 Python 脚本的 SQLite 输出

mysql - 使用 union mysql 选择查询进行分组

python - 如何获取列的唯一组合并在Python数据框中按它们排序?

Java - 按字母顺序和数字对对象数组列表进行排序