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

我有一个与此类似的表:

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`

我需要的是每两周将行分组为同一个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.

谢谢.

解决方法:

我想我有给你…

首先,从数据中获得不同的可用周…

然后,加入数据,但要特别在第1周或第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

来源: https://codeday.me/bug/20191123/2066946.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值