2017-09-09 14 views
1

SQLクエリのヘルプが必要です。現在の行よりも安い製品価格を計算する方法

私は製品テーブルを持っている...フィールズ...

product_id 
product_name 
product_price 

私はすべての製品を表示し、現在の製品よりも安くなっていますどのように多くの製品を示す追加の列を持っていると思いますされています。したがって、たとえば....

product_id  product_name  product_price  Products_cheaper 
1    product 1  1.50    0 
2    product 2  6.50    2 
3    product 3  2.50    1 
4    product 4  10.50    3    

このSQLクエリに関する提案はありますか?

SQL Serverの使用。製品が等しい場合にも、それは同じPRODUCT_PRICE値があるかもし約0.1

+0

ですか?また、使用しているRDBMSにタグを付けてください。 –

+0

@FerdinandGaspar私はOPを更新しました。 – WebDevGuy2

+0

例えば、製品5が製品2と同じ6.50になる場合、他の製品の番号付けはどのように影響を受けますか? –

答えて

3
SELECT product_id, 
     product_name, 
     product_price, 
     RANK() OVER (ORDER BY product_price) - 1 AS product_cheaper 
    FROM products 
ORDER BY product_id 

結果(私は私のコメントで使用されたサンプルを追加しました)

product_id product_name product_price product_cheaper 
1   product 1  1.50   0 
2   product 2  6.50   2 
3   product 3  2.50   1 
4   product 4  10.50   4 
5   product 5  6.50   2 
+0

パーフェクト!ありがとう! – WebDevGuy2

関連する問題