我正在尝试按收视等级计算不同视频的计数。我有下表:
vid_id views
1 6
1 10
1 900
2 850
2 125000
3 1010
3 12239
3 150000
我尝试使用此代码来获得我想要的输出:
SELECT
CASE
WHEN views < 1000 THEN '< 1K Views'
WHEN views >= 1000 AND views < 10000 THEN '1K to 10K Views'
WHEN views >= 10000 AND views < 100000 THEN '10K to 100K Views'
WHEN views >= 100000 AND views < 1000000 THEN '100K to 1M Views'
ELSE '1M+ Views'
END AS tier,
COUNT(distinct vid_id)
FROM
test
GROUP BY
tier
由于每个条目都有多个条目vid_id,因此我想使用每个层的最大观看次数对每个层的视频计数进行分组vid_id。所以我的输出应该是:
tier COUNT(views)
< 1K Views 1
100K to 1M Views 2
视频 #1 的观看次数最多达到 900 次,因此它在该< 1K Views层中。视频 2 和 3 分别达到 125,000 和 150,000 次观看。所以他们在100K to 1M Views层级。