【问题标题】:how can i sort data by rows? [MYSQL]如何按行对数据进行排序? [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

非常感谢。

【问题讨论】:

    标签: mysql


    【解决方案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 子句中允许使用窗口函数。
    猜你喜欢
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    相关资源
    最近更新 更多