gpt4 book ai didi

mysql - GROUP BY 将多个值分组为同一组

转载 作者:可可西里 更新时间:2023-11-01 08:20:01 24 4
gpt4 key购买 nike

我有一个类似这样的表:

ID      WEEK
1 1
2 1
3 1
4 2
5 2
6 3
7 3
8 3

这是我当前的查询:

SELECT COUNT(*), `week` FROM data GROUP BY `week`

这是一个 sqlfiddle http://sqlfiddle.com/#!2/bfdb6/2/0

我需要的是每 2 周将行分组到相同的 COUNT。

所以不是这个:

COUNT(*)    WEEK
3 1
2 2
3 3
3 4

我会得到:

COUNT(*)    WEEK
5 1
5 2
6 3
3 4

其中每周还添加了接下来的几周 COUNT。


修改问题:

我应该清楚我真正需要什么。

我需要的不是将第 1 周和第 3 周分组,而是按每 2 周分组。

因此按第 1 周和第 2 周、第 2 周和第 3 周、第 3 周和第 4 周、第 4 周和第 5 周等分组

如果可能,自动生成,但 sql 可以在周分组查询之外生成。

谢谢。

最佳答案

我想我有它给你...

首先,从数据中获取可用的不同周...然后,加入数据,但特别是在 EITHER week 或 week +1

我将其应用于您现有的 SQLFiddle,它似乎可以正常工作。

select
JustWeeks.`week`,
Count(*) as TwoWeekSum
from
( select distinct
`week`
from
data ) JustWeeks
JOIN data
ON JustWeeks.`week` = data.`week`
OR JustWeeks.`week` +1 = data.`week`
group by
JustWeeks.`week`

关于mysql - GROUP BY 将多个值分组为同一组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339251/

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