我有一个视频网站,其中每个视频都属于一个类别,我想显示每个类别中观看次数最多的视频。
视频点击有自己的表格,每个点击记录user_id和video_id
我正在挣扎的部分是计算点击量,如果单个用户观看视频十次,它仍然只计算一次点击。
感谢。
答案 0 :(得分:2)
你的意思是这样吗
SELECT COUNT(DISTINCT(user_id))
FROM video_hits
WHERE video_id = '1826'
它应该给出观看视频ID为1826的用户总数
编辑:我只在MS SQL中对此进行了测试,因为我现在正在工作 - 当我回到家时,我可以在MySQL中查看它,但我认为它是相同的。答案 1 :(得分:1)
如果一个用户观看视频十次,它仍然只计算一个视频。
使用COUNT(DISTINCT user_id)
部分我正在努力......
这是否意味着您已经解决了从每个类别获取热门视频的问题?这是SQL(the max-concat trick)
中一个更复杂的问题答案 2 :(得分:0)
听起来你正在阻止命中表插入重复记录?你应该这样做,以便你可以执行选择计数(id)user_id = ??和video_id = ??这将返回表中这两个参数发生的次数。