我正在尝试在使用SUM语句动态生成的列上获取MAX.SUM语句与'GROUP by'语法一起使用.
这是原始查询,但需要对其进行修改以使用分组,总和以及MAX.
SELECT SUM(video_plays) AS total_video_plays
FROM `video_statistics` v_stat
GROUP BY v_stat.`video_id` ASC
Run Code Online (Sandbox Code Playgroud)
如您所见,SUM将video_plays中的所有值添加为total_video_plays ..
但我简直希望得到total_video_plays的MAX
我的尝试在下面,但它们不起作用..
SELECT SUM(video_plays) AS MAX(total_video_plays)
FROM `video_statistics` v_stat
GROUP BY v_stat.`video_id` ASC
Run Code Online (Sandbox Code Playgroud)
如何在不使用子查询的情况下动态生成列?- 因为上面已经放在一个列中.
我正在尝试根据其对所有其他视频的查看次数来获取我的数据库中每个视频的百分比.
然后我尝试将最高视图数量的所有视频显示到最低,在一个漂亮的HTML页面中显示其百分比.
显然百分比范围从0到100%(而不是超过),最流行的视频可能会有100%我假设..
我在数据库中有大约3,400个视频.我的尝试是可笑的,现在已经刮了我好几天了..
我的表看起来与此类似.
video_public
id | video_title | video_views
Run Code Online (Sandbox Code Playgroud)
尝试:
SELECT
id,
video_views * 100 / (SELECT COUNT(*) FROM video_public)
FROM `video_public` stat
Run Code Online (Sandbox Code Playgroud)
说实话,我甚至不知道这个SQL查询是否正确.
我还没有考虑到视频的观看次数对所有的视频观看次数和总视频 ..
真的卡住..