我正在做一个项目,但我被困在一个点上。问题是我有以下两个表,users
和user_mistakes
:
<强> users
:
<强> user_mistakes
:
如果user_mistakes.status = 0
= 待处理
如果user_mistakes.status = 1
=批准
根据上述users
和user_mistakes
表数据,我想要每个用户的待处理和已批准状态计数,如下所示:
有什么方法可以通过单个查询实现此目的吗?
最佳答案
您可以尝试使用以下代码:
SELECT
users.id,users.name,
SUM(IF(mistakes.status=1, 1, 0)) AS approved_mistakes,
SUM(IF(mistakes.status=0, 1, 0)) AS pending_mistakes
FROM users
LEFT JOIN mistakes ON mistakes.user_id = users.id
GROUP BY mistakes.user_id
如果您遇到任何问题,请告诉我
关于MySQL : Get status (pending and approved) count for each user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51220224/