私はテーブルを持っています:オーダーとプロダクトです。 MySQL 5.6でランクを生成する方法は?SQL。参加した販売ランク
商品の価値が同じランクの場合も同じでなければなりません。 私は数によってランク付けする必要が下
SELECT
count(productpk), productpk,
@prev := @curr,
@curr := count(productpk),
@rank := IF(@prev = @curr, @rank, @rank+1) AS rank
FROM orders AS om
JOIN products AS p ON om.PK=p.p_order,
(SELECT @curr := null, @prev := null, @rank := 0) sel1
GROUP BY productpk ORDER BY count(productpk);
有効な結果がある(カウント - >ランク):
- 2 - > 3
- 2 - > 3
- 4 - > 2
- 4 - > 2
- 6 - > 1