ダッシュボードに表示されるトップ 10 の動画リストがあります。1 人のユーザーが 6 本の動画を投稿し、そのすべてがトップ 10 (Most Views) にランクインする場合があります。私の上司は、上位 10 人のいずれかのメンバーの上位 2 人だけを表示したいと考えています。
どうやってそれを行うのですか。データを抽出するために使用しているスクリプトは次のとおりです。
SELECT a.MediaID,
COUNT(a.MediaID) AS TimesViewed
FROM MediaViewLog a
INNER JOIN MemberVideo b ON b.MemberVideoID = a.MediaID
INNER JOIN Member c ON c.MemberID = b.MemberID
WHERE a.ViewDate BETWEEN '5/25/2013 10:04:23 AM' AND '12/12/2050 11:59:59 PM'
AND a.MediaType = 'V'
AND b.CreateDate > '5/25/2013 10:04:23 AM'
AND c.SBIcon = 'N'
GROUP BY a.MediaID
MediaViewLog には次のデータが含まれます。
+----------------+---------+-----------+-------------------------+
| MediaViewLogID | MediaID | MediaType | ViewDate |
+----------------+---------+-----------+-------------------------+
| 3336 | 7033 | V | 2013-05-26 03:36:52.573 |
+----------------+---------+-----------+-------------------------+
| 3337 | 7037 | V | 2013-05-26 04:22:16.682 |
+----------------+---------+-----------+-------------------------+
| 3338 | 12356 | A | 2013-05-26 03:36:52.573 |
+----------------+---------+-----------+-------------------------+
| 3339 | 7102 | V | 2013-05-26 07:12:25.428 |
+----------------+---------+-----------+-------------------------+
| 3340 | 7058 | V | 2013-05-26 08:02:27.003 |
+----------------+---------+-----------+-------------------------+
| 3341 | 7033 | B | 2013-05-26 03:36:52.573 |
+----------------+---------+-----------+-------------------------+
各メディアは、「メンバー」テーブルでメンバーに関連付けられています。「MemberID」は主キーです
トップ10の一部として、メンバーに複数のメンバーがいる場合にのみトップ2を抽出する方法についてのアイデア.
どんな助けでも大歓迎です。
ありがとう!