2
兩列,第一列是分開的,第二列沒有那麼多。從不完全不同的結果中返回不同的行
Col1 ---- Col2
1 ---- abc
1 ---- abc (123)
2 ---- def
2 ---- def (324)
等
我需要帶回重複的記錄,但只帶有較長col2的的人。
我試過使用CONTAINS函數,但我的表沒有全文索引。
兩列,第一列是分開的,第二列沒有那麼多。從不完全不同的結果中返回不同的行
Col1 ---- Col2
1 ---- abc
1 ---- abc (123)
2 ---- def
2 ---- def (324)
等
我需要帶回重複的記錄,但只帶有較長col2的的人。
我試過使用CONTAINS函數,但我的表沒有全文索引。
一種選擇是由col2的的LEN()
使用使用ROW_NUMBER()
排序:
SELECT *
FROM (
SELECT Col1, Col2, ROW_NUMBER() OVER (PARTITION BY Col1 ORDER BY LEN(Col2) DESC) rn
FROM YourTable
) t
WHERE rn = 1
SELECT col1 , col2 FROM (SELECT col1 , col2 , Rank() OVER (PARTITION BY col1 ORDER BY col2 DESC) row FROM dbo.table ) t WHERE row = 1
您也可以嘗試這個..