这个查询可能吗?

时间:2011-06-28 10:54:02

标签: mysql join

我有一个视频网站,其中每个视频都属于一个类别,我想显示每个类别中观看次数最多的视频。

视频点击有自己的表格,每个点击记录user_id和video_id

我正在挣扎的部分是计算点击量,如果单个用户观看视频十次,它仍然只计算一次点击。

感谢。

3 个答案:

答案 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 = ??这将返回表中这两个参数发生的次数。