如何按行对数据进行排序? [MYSQL]

Posted

技术标签:

【中文标题】如何按行对数据进行排序? [MYSQL]【英文标题】:how can i sort data by rows? [MYSQL] 【发布时间】:2020-12-10 06:31:54 【问题描述】:

我的数据库

id title create_by
1 aaa 2
2 bbb 1
3 ccc 3
4 ddd 2
5 eee 2
6 fff 3

我想要什么。按具有相同最高值的行排序。

id title create_by
1 aaa 2
4 ddd 2
5 eee 2
3 ccc 3
6 fff 3
2 bbb 1

非常感谢。

【问题讨论】:

【参考方案1】:
WITH cte AS ( SELECT id,
                     title,
                     create_by,
                     COUNT(create_by) OVER (PARTITION BY create_by) cnt
              FROM src_table )
SELECT id,
       title,
       create_by
FROM cte
ORDER BY cnt, id;

【讨论】:

不工作 'cnt' 给我表格中的总行数(例如结果 'cnt' 是每行 6 个) @AnusornKongthong 不准确,已修复。 @Akina:请注意,不需要 CTE。 ORDER BY 子句中允许使用窗口函数。

以上是关于如何按行对数据进行排序? [MYSQL]的主要内容,如果未能解决你的问题,请参考以下文章

Torch:如何按行对张量进行洗牌?

如何使用分组行对 SQL 查询进行排序

Spark DecisionTreeClassifier

按基本 R 中的重复行对数据框进行排序?

如何把SQL的表按行进行排序或进行表的行列转换

推力——按键排序两个向量