mysql - 我没有按照 DESC 顺序正确获取 row_num()

标签 mysql sql

我没有按照 DESC 顺序正确获取 row_num()

我做了什么:

  • 使用 COUNT() 函数查找每个用户发送的电子邮件总数。
  • 按 from_user 对记录进行分组。
  • 使用公式 ROW_NUMBER 按电子邮件总数降序排列记录。
  • 按字母顺序对具有相同电子邮件数量的用户进行排序

我的查询:

SELECT from_user,
       COUNT(from_user) as email_sent,
       row_number() OVER (ORDER BY count(from_user) DESC) as rnk
FROM google_gmail_emails
GROUP BY 1
ORDER BY COUNT(from_user) DESC,
         from_user asc

最佳答案

  select 
    from_user, 
    count(from_user) as email_sent,
    row_number() over (order by from_user asc) as alpha
    from google_gmail_emails 
    group by 1 order by count(from_user) desc, alpha;

此查询将按电子邮件总数降序对记录进行排序,并在 alpha 列中给出按字母顺序排序的行号。

关于mysql - 我没有按照 DESC 顺序正确获取 row_num(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71792060/

相关文章:

php - 负载平衡 PHP 的最佳方法是什么

c# - JSON 友好的数据库?

别名列的sql过滤结果

mysql - SQL – 使用 WHERE 子句消除 UNION ALL 中的重复项

mysql - 从另一个表的列更新表中的列值 - mysql

mysql - 在 pentaho 数据集成 (cdb) 上查询 mysql 时出错

mysql - 多个计数和一个分组依据

mysql - 按时间间隔分组,包括下一个开始?

mysql sum() 使用多个连接返回 double 值

SQL - 如何在数据位于同一个表中的 sql 中为特定参数找到不同的值