两列,第一列是distcint,第二列没有那么多。
Col1 ---- Col2
1 ---- abc
1 ---- abc (123)
2 ---- def
2 ---- def (324)
等
我需要带回不同的记录,但只有具有较长Col2的记录。
我尝试过使用CONTAINS功能,但我的表格没有全文索引。
答案 0 :(得分:2)
一种选择是使用Col2的ROW_NUMBER()
使用LEN()
排序:
SELECT *
FROM (
SELECT Col1, Col2, ROW_NUMBER() OVER (PARTITION BY Col1 ORDER BY LEN(Col2) DESC) rn
FROM YourTable
) t
WHERE rn = 1
答案 1 :(得分:0)
SELECT col1 , col2 FROM ( SELECT col1 , col2 , Rank() OVER ( PARTITION BY col1 ORDER BY col2 DESC ) row FROM dbo.table ) t WHERE row = 1
你也可以尝试这个..