MySQL count, group by 和 join 查询

标签 mysql sql join count group-by

我有两个表:userscomments,其中每个评论都属于一个用户。

用户

id  user  class
1   mike    A
2   joe     B
3   john    A

评论

id  user_id    comment
1     1      "some text"
2     2      "some text"
3     1      "some text"
4     2      "some text"
5     3      "some text"
6     2      "some text"
7     2      "some text"

我想计算每个用户类别中的评论数。 结果应该是:

A 3
B 4

我已经试过了:

SELECT users.class, count(*) AS count 
  FROM comments 
 GROUP BY comments.user_id.class
 ORDER BY count DESC;

但不起作用。

最佳答案

你需要像这样加入

Select u.class, count(*) 
From users u
Join comments c on c.user_id = u.id
Group by u.class

关于MySQL count, group by 和 join 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27677483/

相关文章:

java - Java 字符串中的古吉拉特语文本

sql - 查找任何值出现在另一列中的情况

mysql - 如何在 MySQL 中连接和透视表

mysql - 基于类型的数据库设计

php - 如何在 phpMyAdmin 中创建这种关系?

php - 在 PHP 中使用订阅选项将日历公开为 iCal

php - 如何将日期转换并保存为mysql格式?

php - 如何从具有多个键和值的多维数组中获取唯一键和关联值的数组

sql - Rails 应用程序中的原始 pg GROUP BY 查询

sql - 有没有办法合并这两个简单的查询