[英]SQL Group by day from timestamp with two tables
我有两个带有时间戳列的表。
表#1包含点击和时间戳,表#2包含用户ID和时间戳。 我想按日期计算点击次数和用户数。 例如
Date clicks_count users_count
2015-07-24 10 15
2015-07-24 04 06
select date(timestamp),
sum(is_click) as clicks,
sum(is_click = 0) as user_count
from
(
select timestamp, 1 as is_click from table1
union all
select timestamp, 0 from table2
) tmp
group by date(timestamp)
您可以一起从两个表中选择timestamp
,然后添加一个计算列以指示时间戳记来自哪个表。
然后,您可以获取该子查询结果并按日期进行分组,然后统计用户和点击次数。
sum(is_click = 0)
计算时间戳记来自users表的时间。
我认为这些SQL对您有用。
select a.date1,clicks_count,users_count from
(select date(Table1.timestamp)as date1, count(clicks) as clicks_count
from Table1
group by date(Table1.timestamp)) as a
join
(
select date(Table2.timestamp) date2, count(userid) as users_count
from Table2
group by date(Table2.timestamp)) b on a.date1 = b.date2
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.