我无法编写查询来查找2010年3月6日用户生成大部分推文的当天小时。
我为我的推特数据创建了表格。
create table twitter.full_text_ts as
select id, cast(concat(substr(ts,1,10), ' ', substr(ts,12,8)) as timestamp) as ts, lat, lon, tweet
from full_text;
现在我需要查询它以查找当天哪个小时在特定日期的推文最多。
我可以通过输入
查看任何特定日期推文的所有时间戳(ts)select ts
from twitter.full_text_ts
where to_date(ts) = '2010-03-06'
order by ts desc;
此输出:
2010-03-06 02:10:01
2010-03-06 02:11:15 and so on.
我想做的是按小时分组,这样我就可以看到哪个小时的参赛作品最多。
谢谢,
Cale的
答案 0 :(得分:1)
尝试以下方法:
select DATEPART(HH, ts) [Hour], COUNT(*) [Count]
from twitter.full_text_ts
where to_date(ts) = '2010-03-06'
GROUP BY DATEPART(HH, ts) [Hour]
order by 1 desc;
答案 1 :(得分:1)
您可以使用hour()
功能:
select hour(ts), count(*) as cnt
from twitter.full_text_ts
where to_date(ts) = '2010-03-06'
group by hour(ts)
order by cnt desc;