1

私はテーブルを持っています

ItemId Items views
1 - item1 - 4
2 - item2 - 3
3 - item3 - 3

製品がどれほど人気が​​あるかを知りたい

結果は

item 1: first place
item 2: second place
item 3: second place

mysqlでこれを行う方法を理解するのに非常に苦労しています。まさにこれになるクエリはありますか?特にユーザーがitem3ページにいるとき、私はこう言いたいです:これは2番目に人気のある製品です

どんな助けでも大歓迎です!

4

1 に答える 1

2

これは、相関サブクエリを使用して実行できます。

SELECT Items,
       (SELECT  COUNT(DISTINCT b.views) 
        FROM    tableName b
        WHERE   a.views <= b.views
       ) as rank
FROM    tableName a
ORDER   BY Views DESC
于 2013-09-14T10:51:21.723 に答える