というテーブルとratings
という列がありますitem_id
。個々のアイテムをグループ化して数えたいだけです。
例えば:
1000 行あり、item_id
51 が 20 回評価され、item_id
14 が 7 回評価され、item_id
33 が 2 回評価された場合、次のDESC
ようにグループ化するだけです。
item_id 51 item_id 7 item_id 33
私はこの質問のようなものに従おうとしましたが、うまくいきませんでした。
SELECT item_id, COUNT(*) AS count
FROM ratings
GROUP BY item_id
ORDER BY count DESC;
SELECT count(*) AS counter, item_id
FROM ratings
GROUP BY item_id
ORDER BY counter DESC
SELECT *
FROM (
SELECT item_id, COUNT(rating) AS rating
FROM ratings GROUP BY item_id
) a
GROUP BY a.rating DESC