2017-06-01 5 views
1

質問の説明:価格をランク付けするクエリを記述し、タイがある場合は密ランク価格

表の価格

| Id | price | 
| 1 | 3.00 | 
| 2 | 3.65 | 
| 3 | 4.00 | 
| 4 | 3.00 | 
| 5 | 4.00 | 

正しい結果同じランクを表示:

| price | Rank |  
| 4.00 | 1 |  
| 4.00 | 1 |  
| 3.65 | 2 |  
| 3.00 | 3 |  
| 3.00 | 3 | 

質問:
私の質問は以下ですが、私は正しいランキングを得ていません

SELECT B.price, (SELECT COUNT(A.price) FROM price A 
        WHERE A.price >= B.price) AS rank 
FROM price B 
ORDER BY B.price DESC; 
+3

は、[デモ](http://rextester.com/WBTLWM91697)@Felixでの提案を取っているし、あなたはそれがあることがわかります.....これを試してみてくださいワーキング。 –

+0

それは動作します!ありがとうございました ! – xiongbenxiong

答えて

0

ここ

SELECT B.price, dense_rank() over (ORDER BY B.price DESC) 
FROM price B 
ORDER BY B.price DESC;