有一个表喜欢
:
like_user_id | like_post_id | like_date
----------------------------------------
1 | 2 | 1399274149
5 | 2 | 1399271149
....
1 | 3 | 1399270129
我需要进行一个 SELECT
查询,并根据 1 天、7 天、1 个月的时间段进行分组,对特定 like_post_id
的记录进行计数,1年。
结果必须是这样的:
period | total
---------------
1_day | 2
7_days | 31
1_month | 87
1 year | 141
可能吗?
谢谢。
最佳答案
我创建了一个 Oracle 语法查询,请根据您的数据库更改它
select '1_Day' as period , count(*) as Total
from likes
where like_date>(sysdate-1)
union
select '7_days' , count(*)
from likes
where like_date>(sysdate-7)
union
select '1_month' , count(*)
from likes
where like_date>(sysdate-30)
union
select '1 year' , count(*)
from likes
where like_date>(sysdate-365)
这里的想法是获取单个时间段的单个子查询,并在匹配过滤器的位置应用过滤器。
关于mysql - 是否可以在mysql中按几个不同的日期时间段进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23518826/