私は3つのテーブルを持っています。
Video (Id, ViewCount, Location)
Likes (Id, Video, User)
Location (Id, Name)
最高ランクの 4 つの動画 (Video.ViewCount + count(Likes.User) の合計) をクエリするにはどうすればよいでしょうか。それらを Video.Id でグループ化し、特定の場所から上位 4 つの結果を返します。
私はこれを試しました:
SELECT Video.Id, sum(Video.ViewCount + count(Likes.User)) as Points From Video
Left Join Likes
ON Likes.Video=Video.Id
WHERE Video.Location=30
GROUP BY Video.Id
ORDER BY Points DESC
LIMIT 4;
しかし、グループ機能の使用法が正しくありません。誰かポインタを持っていますか??