gpt4 book ai didi

mysql - SQL 加入与日期相关的数据

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:35 25 4
gpt4 key购买 nike

目前我有一个简单的 SQL 请求来获取所有 group department date 和相关的 group size (teamLength) between 2 dates 但它不能正常工作。

SELECT `groups`.`departure`, COUNT(`group_users`.`group_id`) as 'teamLength'
FROM `groups`
INNER JOIN `group_users`
ON `groups`.`id` = `group_users`.`group_id`
WHERE departure BETWEEN '2017-03-01' AND '2017-03-31'

事实上,如果我在 2 个日期之间有超过 1 个组,则只会恢复与 teamLength 总数相关的 1 个日期。

例如,如果我在同一时间间隔内有 2 个组,第 1 组有 2 人,第 2 组有 1 人,结果将是:

SQL Result

这是我的 groupsgroup_users 表当前状态的 2 个屏幕截图: enter image description here

enter image description here

是否有可能仅在 1 个 SQL 请求中完成我想做的事情?谢谢

最佳答案

除了 jarlh 评论的内容(JOIN with ON)。永远不要在没有显式 GROUP BY 的情况下对数据进行分组。我不知道为什么 MYSQL 仍然允许这样...

将您的查询更改为类似这样的内容,您应该会得到所需的结果。目前,其他出发日期会在聚合中丢失。

SELECT
groups.departure,
COUNT(1) as team_length
FROM
groups
INNER JOIN group_users
ON groups.id = group_users.group_id
WHERE
groups.departure BETWEEN '2017-03-01' AND '2017-03-31'
GROUP BY
groups.departure

关于mysql - SQL 加入与日期相关的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43090402/

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