【问题标题】:MySQL Query for domains and post numbersMySQL 查询域和帖子编号
【发布时间】:2014-07-30 22:36:43
【问题描述】:

我有一个 MySQL 数据库表 users,其中两列有 email 地址和 post 计数来自论坛的每个成员。

我可以通过以下方式提取在特定电子邮件域中注册的用户总数:

SELECT substring_index(email, '@', -1), COUNT(*) AS emailcounts
FROM `users`
GROUP BY substring_index(email, '@', -1)
ORDER BY emailcounts DESC;

这个查询的结果给了我以下信息:

gmail.com 147
yahoo.com 112
hotmail.com 101
aol.com 98
live.com 84

例如在哪里147是通过gmail.com注册的用户数

我的问题是:

什么是正确的 MySQL 查询,所以当您通过选择 emailpost 列对 users 表运行它时,结果还将包括来自具有如下电子邮件域的用户的帖子总数:

gmail.com 147  1559
yahoo.com 112  972
hotmail.com 101  833
aol.com 98  612
live.com 84  420

例如从 gmail.com 注册的 147 位用户中,我们共有 1559 个帖子

我现在尝试了几个选项 discussed here in SO ,但我不能让它像上面那样工作

我希望这个编辑有助于解释这种情况。

谢谢

【问题讨论】:

  • 这个问题似乎离题了,因为它缺乏诊断问题的信息。
  • 需要更多信息来尝试您的第三列数据,那是什么?
  • 解释得更好...表格结构,您要选择哪些字段,预期结果是什么
  • 原始帖子编辑了更多信息。谢谢

标签: mysql database


【解决方案1】:

在我看来这可行:

SELECT substring_index(email, '@', -1), COUNT(*) AS emailcounts,sum(post_counts) 来自users GROUP BY substring_index(电子邮件,'@',-1) ORDER BY emailcounts DESC;

用正确的列名替换 post_counts。

【讨论】:

  • 优秀。正如我所要求的。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-14
  • 2023-04-05
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多