繁体   English   中英

从时间戳记开始的SQL按日分组,具有两个表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM