mysql:获取每个用户的状态(挂起和批准)计数

3pvhb19x  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(210)

我在做一个项目,我被一个问题困住了。问题是我有以下两张表, users 以及 user_mistakes : users :
idname12xyz3jkl公司 user_mistakes :
iduser\u idmistakestatus11lorem ipsum121lorem ipsum132lorem ipsum042lorem ipsum1
如果 user_mistakes.status = 0 =挂起
如果 user_mistakes.status = 1 =批准
根据上述 users 以及 user_mistakes 表数据,我希望每个用户的挂起和批准状态计数如下所示:
用户\u id名称待定\u错误批准\u错误1022xyz113jkl00
有什么方法可以用一个查询来实现这一点吗?

jv4diomz

jv4diomz1#

您可以尝试使用以下代码:

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

如果你有任何问题,请告诉我

hc2pp10m

hc2pp10m2#

选择PendingErrors,按PendingErrors从用户错误组中计数(PendingErrors)

相关问题