gpt4 book ai didi

mysql - 如何统计连接表记录

转载 作者:行者123 更新时间:2023-11-29 19:05:41 24 4
gpt4 key购买 nike

老实说,我不知道关于我的案例的正确问题......

假设我有 2 张 table ,

Table User                  Table Attendance

|id|name|address| |id|user_id|attendance_status|
----------------- ------------------------------
|1 |July|NY City| |1 | 1 | Late |
|2 |Remy|London | |2 | 2 | On Time |
|3 |Mike|Turin | |3 | 2 | On Time |
|4 | 3 | On Time |
|5 | 3 | On Time |
|6 | 3 | On Time |

我的问题是如何显示所有记录并计算出勤状态是否准时,大致如下:

|user_id|name|total|
--------------------
| 1 |July| 0 |
| 2 |Remy| 2 |
| 3 |Mike| 3 |

但是在我尝试查询之后,我得到了这样的结果:

|user_id|name|total|
--------------------
| 2 |Remy| 2 |
| 3 |Mike| 3 |

请帮我解决我的问题,谢谢

*注意:如果你知道查询并且知道如何在 eloquent laravel 上使用它,那就更好了

最佳答案

尝试这个查询:

SELECT
t1.id AS user_id,
t1.name,
COALESCE(t2.total, 0) AS total
FROM User t1
LEFT JOIN
(
SELECT user_id, COUNT(*) AS total
FROM Attendance
WHERE attendance_status = 'On Time'
GROUP BY user_id
) t2
ON t1.id = t2.user_id

此处演示:

SQLFiddle

关于mysql - 如何统计连接表记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43532933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com