【问题标题】:PHP/SQL Query: combine two tables with only unique records and count saturdaysPHP/SQL 查询:组合两个只有唯一记录的表并计算星期六
【发布时间】: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 关键字),但我没有得到确切的结果。你能帮帮我吗?

非常感谢!

【问题讨论】:

  • 你在哪里找到哈利的?!?
  • 灌木丛中的某个地方

标签: mysql sql date unique


【解决方案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`

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 2016-05-31
    相关资源
    最近更新 更多