我有下表
video_id ip_address
1 192.168.1.1
1 192.168.1.1
1 192.168.1.2
2 192.168.1.2
2 192.168.1.2
2 192.168.1.2
运行以下查询会返回每个 IP 地址每个视频的唯一请求数量。
SELECT video_id, COUNT(*) as num_unique_requests FROM
(SELECT video_id, ip_address FROM videos
GROUP BY video_id, ip_address) t
GROUP BY video_id
ORDER BY num_unique_requests DESC
video_id num_unique_requests
1 2
2 1
有什么办法可以将最里面的GROUP BY
语句嵌套在另一个GROUP BY
语句中,这样我就可以避免创建最外面的语句来GROUP BY
video_id?
还有其他方法可以更有效地编写此查询吗?