我被要求收集默认消息列中的所有字符串都相似的数据,问题是消息未知,字符串计数值也是如此,我在 WHERE 子句中没有可搜索的信息。我尝试运行 SELF JOIN 但是,这不起作用,因为它只返回所有值,该表包含超过 10000 行数据,其中字符串各不相同,但有时彼此相似,有人可以解释一下我该怎么做吗想要退货吗?
表格:这只是我试图收集的示例表格
旅客ID | 旅行者 | 默认消息 |
---|---|---|
1 | J:182 | 我去过美国 |
2 | J:192 | 我去了IND |
3 | K:901 | 我去过英国 |
4 | 手机:531 | 我去过美国 |
5 | 号:231 | 我去过澳大利亚 |
所以基本上,我需要收集不同 ID 之间默认消息相同的数据,如果您需要更多信息,请告诉我,我会尽力解释这一点。
请再次注意,我不知道默认消息实际指定了什么,我只需要在列中查找具有相同消息的数据条目
输出:
旅客ID | 旅行者 | 默认消息 |
---|---|---|
1 | J:182 | 我去过美国 |
4 | 手机:531 | 我去过美国 |
在 SQL Server 上,我们可以使用
COUNT()
作为窗口函数:
WITH cte AS (
SELECT *, COUNT(*) OVER (PARTITION BY DefaultMessage) cnt
FROM yourTable
)
SELECT TravellerID, Traveller, DefaultMessage
FROM cte
WHERE cnt > 1
ORDER BY DefaultMessage, TravellerID;