加入MYSQL(从一张表计数并从一张表列出)

时间:2018-08-31 09:18:25

标签: mysql database

我有两个桌子,

  • 用户
  • 报告用户

“用户表”中有以下几列,

userid , email , phone_number

“报表用户表”中包含以下列,

id , userid , report_user_id , reason

因此,我想获取具有报告计数的用户列表,如果count为零,那么它必须为零。

用户表

userid | email         | phone_number
1      | abc@gmail.com | 12312312
2      | abcd@gmail.com | 112312312
3      | abc3@gmail.com | 112312312

报告用户表,

id     |userid | report_user_id | phone_number
1      | 2     |   3            | 12312312
2      | 3     |   2            | 112312312
3      | 1     |   2            | 112312312

预期输出,

userid | email         | phone_number | report_count
1      | abc@gmail.com | 12312312     | 0
2      | abcd@gmail.com | 112312312   | 2
3      | abc3@gmail.com | 112312312   | 1

这里userid = 1的报告计数为零,因此它必须为零(因为在report_user_id列中没有条目1),userid = 2的报告计数为2,因此它必须为2,而userid = 3的报告计数为1因此必须为零。

我已经尝试过该查询,但是无法获得预期的结果,

SELECT count(LRU.report_user_id) as report_count FROM `lickr_report_user` as LRU LEFT JOIN lickr_users as LU ON LU.userid = LRU.report_user_id GROUP BY LU.userid

1 个答案:

答案 0 :(得分:1)

我认为您颠倒了join语句中的用户和报告表:

您还应该在foreach(LuisEntity oneEntity in target.entities) { string result oneEntity.entity; string type = oneEntity.type; } 函数中将IFNULL的0替换为null。

COUNT