[英]SQL Server : query grouping
我在SQL Server中有一些查詢。 我有兩張桌子
KEYWORD_TEXT
Keyword_relate
keyword_text
列:
keyword_relate
列:
keyword_text
樣本數據:
----|----------
1 | Pencil
2 | Pen
3 | Books
keyword_relate
樣本數據:
----------------------------
Sno| Product | SCore|status
---------------------------
1 | 124 | 2 | 1
1 | 125 | 3 | 1
2 | 124 | 3 | 1
2 | 125 | 2 | 1
從中我想得到product_id
,按關鍵字分組並且得分最高
假設第一個表的key_id
在第二個表中為Sno
。 您可以使用ROW_NUMBER
:
WITH CTE AS
(
SELECT Product AS ProductID, Score As MaxScore,
RN = ROW_NUMBER() OVER (PARTITION BY kt.key_id ORDER BY Score DESC)
FROM keyword_text kt INNER JOIN keyword_relate kr
ON kt.key_id = kr.Sno
)
SELECT ProductID, MaxScore
FROM CTE
WHERE RN = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.