SQL按小时统计推文总数:合并重复小时数据的需求
解决按小时统计推文总数的重复分组问题
你的SQL出现重复小时记录的核心原因是分组字段错误:当前语句按完整的tweet_created(每条推文的具体创建时间)分组,这会把同一个小时内的不同时间点拆成独立分组,每个分组只统计对应时间点的推文数,所以同一个小时会出现多条记录,加DISTINCT也无法改变这个结果——因为这些分组本身就是不同的。
修正后的SQL语句
SELECT datepart(hh,tweet_created) AS hours_tweeted, COUNT(tweet_text) AS total_tweets FROM [New_years_resolutions_2020] GROUP BY datepart(hh,tweet_created) ORDER BY total_tweets DESC;
说明
把GROUP BY的字段改成提取出的小时值datepart(hh,tweet_created)后,SQL会将同一小时内的所有推文归为一组,COUNT(tweet_text)就能准确统计出该小时的总推文数,返回结果就是你期望的各小时累计求和后的数值。
内容的提问来源于stack exchange,提问作者Andrea Wupuy
相关产品推荐
相关产品推荐

