私はテーブル名「製品」を持っています
ProductID ProductName
1 A
2 B
3 C
4 D
「ViewedProduct」という名前の別のテーブル
ProductID Views UserID
2 2 55
2 1 40
1 10 40
1 50 127.0.1
3 51 127.0.1
UserID 55 の場合、期待される結果は次のようになります。
ProductID ProductName
2 B
1 A
3 C
4 D
UserID 55 のビューが一番上にあり、他のすべての viewdproduct はビューの合計の順に並べる必要があります。2 人の異なる UserID によって閲覧された製品 ID 1 の合計閲覧数は 60 であるため、2 番目に位置する必要があります。製品 ID 3 には 51 回のビューがあり、3 位になるはずです。
2 番目の例:
ProductID Views UserID
2 2 55
3 3 55
2 1 40
1 10 40
1 50 127.0.1
3 51 127.0.1
4 50 127.0.1
UserID 55 の場合、最初に UserID 55 に基づいて結果をソートする必要があります。次に、残りの結果が表示されます。今、私が必要とする期待される結果は
ProductID ProductName
3 C
2 B
1 A
4 D
製品 ID 3 と 2 は、UserID 55 がこれをそれぞれ 3 回と 2 回閲覧したため、トップではありません。しかし、表示されたテーブルからの合計ビューは 60 です。また、userid 55 はこの製品を表示していませんが、ビュー テーブルからの合計ビューは 50 であるため、productID 4 が最後になります。
-- さらに説明が必要な場合はコメントしてください