Mysql 这个查询可能吗?

Mysql 这个查询可能吗?,mysql,join,Mysql,Join,我有一个视频网站,每个视频都在一个类别中,我想显示每个类别中观看次数最多的视频 视频点击有自己的表格,每个点击都记录用户id和视频id 我正在努力计算点击率,如果一个用户看了十次视频,它仍然只计算一次点击率 谢谢。听起来你好像在阻止命中表插入重复记录?您应该这样做,这样您就可以在user_id=??和视频_id=??。这将返回这两个参数在表中出现的次数。您的意思是这样的吗 SELECT COUNT(DISTINCT(user_id)) FROM video_hits WHERE video_id

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

视频点击有自己的表格,每个点击都记录用户id和视频id

我正在努力计算点击率,如果一个用户看了十次视频,它仍然只计算一次点击率


谢谢。

听起来你好像在阻止命中表插入重复记录?您应该这样做,这样您就可以在user_id=??和视频_id=??。这将返回这两个参数在表中出现的次数。

您的意思是这样的吗

SELECT COUNT(DISTINCT(user_id))
FROM video_hits
WHERE video_id = '1826'
它应该给出观看id为1826的视频的用户总数

编辑:我只在MS SQL中测试过这个,因为我现在正在工作——我回家后可以在MySQL中查看它,但我假设它是一样的

如果一个用户观看一个视频十次,它仍然只计算一次点击

使用计数(不同的用户标识)

我正在挣扎的那部分


这是否意味着你已经解决了从每个类别中获得顶级视频的问题?在SQL()中,这是一个复杂得多的问题。

。我一直在想这件事,但不想走那条路。。谢谢。不用担心,我的想法要么是我建议的,要么是加入一个新的列,每次用户观看视频检查,看看他们以前是否观看过,如果是这样的话,增加视图,如果不创建新记录?我想我已经对其余部分进行了排序,它包括一些我没有提到的其他表:-选择COUNT(DISTINCT views.user\id)作为点击数,categories.name作为cat\u name,categories.url作为cat\u url,videos.id作为video\u id,videos.title作为title,videos.file\u仍然作为image,users.username作为昵称,series.url作为series\u url来自
类别
加入视频上的视频。category\u id=categories.id加入视频上的用户。user\u id=users.id加入视频上的视图。id=视图。video\u id加入视频上的系列。series\u id=series.id按类别分组。id按类别排序。name,点击DESC LIMIT 6