我試圖找到價格的行號,同時將它們分組在ProductId
。對於ProductId = 1
,價格等級(價格= 1000)應該是smt。對於productId=3
,價格等級(= 1000)應該是......。如何通過不使用匯總功能來使用組
如何在同一張表中找到不同
productId
的價格行數?我該如何使用
Row_number
沒有聚合使用組來實現此目的。ProductId Price ----------------- 1 2000 1 1600 1 1000 2 2200 2 1000 2 3250 3 1000 3 2500 3 1750
所以結果應該是
ProductId Price PriceRank
------------------------------
1 1000 3
2 1000 2
3 1000 1
這是我的代碼:
SELECT
ProductId,
ROW_NUMBER() OVER (ORDER BY price ASC) AS PriceRank
FROM
product
WHERE
price = 1000
GROUP BY
ProductId
什麼'smt'和'sth'? –
我不明白PriceRank背後的邏輯。向我們展示數據庫架構,示例數據,當前和預期輸出。 \t請閱讀[**如何提問**](http://stackoverflow.com/help/how-to-ask) \t \t這裏是一個偉大的地方[** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)來了解如何提高您的問題質量並獲得更好的答案。 \t [**如何創建一個最小,完整和可驗證的示例**](http://stackoverflow.com/help/mcve) –
您可以在上面看到示例數據庫和結果表。 PriceRank背後的想法是,我需要找到價格等於1000的訂單,因爲不同的ProductIds – jores