PHP/SQL 查询:组合两个只有唯一记录的表并计算星期六
Posted
技术标签:
【中文标题】PHP/SQL 查询:组合两个只有唯一记录的表并计算星期六【英文标题】:PHP/SQL Query: combine two tables with only unique records and count saturdays 【发布时间】:2021-10-22 13:16:17 【问题描述】:我有两个 mysql 表,分别称为“accounts”和“events”。
帐户
ID | name |
---|---|
1 | Pete |
2 | Josh |
3 | Harry |
活动
ID | date | account_id |
---|---|---|
1 | 2021-10-11 | 1 |
2 | 2021-10-23 | 1 |
3 | 2021-10-23 | 2 |
4 | 2021-11-06 | 1 |
events 表中的 account_id 链接到 accounts 表中的 id。
我的问题是:我可以使用哪个查询仅计算帐户表中每个唯一用户的星期六(日期 YYYY-mm-dd 格式)?所以我得到了下一个结果:
Name | Saturdays |
---|---|
Josh | 1 |
Pete | 2 |
Harry | 0 |
我尝试了很多查询(即(内部)JOIN、DISTINCT 和 GROUP BY 关键字),但我没有得到确切的结果。你能帮帮我吗?
非常感谢!
【问题讨论】:
你在哪里找到哈利的?!? 灌木丛中的某个地方 【参考方案1】:我认为这样的事情应该可以工作(未经测试):
SELECT
`a`.`name` AS `Name`,
COUNT(`e`.`ID`) AS `Saturdays`
FROM `accounts` AS `a`
LEFT JOIN `events` AS `e` ON `e`.`account_id` = `a`.`ID` AND WEEKDAY(`e`.`date`) = 5
GROUP BY `a`.`ID`
【讨论】:
以上是关于PHP/SQL 查询:组合两个只有唯一记录的表并计算星期六的主要内容,如果未能解决你的问题,请参考以下文章