gpt4 book ai didi

mysql - 显示一个表中的条目数,对于 SQL 中两个表共享的键,同时还包括另一个表中没有位置的条目

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

我对 MySQL 很陌生,所以仍在学习。基本上,我目前有两个表:

表 1,人员,有姓名、出生日期和电话号码。表 2“ session ”包含名称、 session 日期和 session 时间。

两个表中“名称”中的条目是相同的(尽管名称被多次提及),尽管表 1 有一个额外的名称 Paul,他没有安排任何 session (因此表 1 中没有该人的条目)表2)。

我想打印一个简单的 2 列结果,显示:

名称 | session 次数

大卫 | 3

约翰 | 4

杰瑞 | 5

保罗 | 0

我能够打印出:

大卫 | 3

约翰 | 4

杰瑞 | 5

使用

选择名称,COUNT(*) 作为 Number_Of_Meetings FROM session 按名称分组;

虽然这仅在 session 中真正使用姓名数据,所以在尝试打印 paul 时并没有真正的帮助,因为他不包括在内。

使用人员表我还可以做更复杂的事情

SELECT p.name, COUNT(*) as Number_of_Meetings FROM session m JOIN people p ON p.name = m.name GROUP BY p.name;

这反而显示了人员中的姓名条目,但仅显示了 session 中具有条目的条目,但我一生都无法弄清楚如何也显示

保罗 | 0

我尝试了很多选择,但老实说无法弄清楚。

有人可以帮忙吗?

最佳答案

由于您需要 people 表事件中的所有记录,因此当 meetings 中没有任何匹配记录时,您需要使用左联接:

SELECT p.name, COUNT(m.name) as Number_of_Meetings 
FROM people p
LEFT JOIN meetings m ON p.name = m.name
GROUP BY p.name;

关于mysql - 显示一个表中的条目数,对于 SQL 中两个表共享的键,同时还包括另一个表中没有位置的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29156575/

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