我有一个示例数据如下:
ID Message
-------------------
1 Car
2 Car
3 Car
4 Boat
5 Train
我需要帮助才能找出一个查询,这样当我执行SELECT DISTINCT ID, Message
时,结果将如下所示:
ID Message
--------------------
Multiple Car
4 Boat
5 Train
每当有重复的"消息"发生时,查询应该" group"所有这些都在一起并用纯文本替换ID#34; Multiple"。
(在我的实际数据库中,ID存储为nvarchar
)
答案 0 :(得分:6)
使用CASE
语句与COUNT()
一起检查重复项。这也意味着您将使用GROUP BY
代替DISTINCT
:
SELECT (CASE WHEN COUNT(*) > 1 THEN 'Multiple' ELSE MIN(ID) END) ID, Message
FROM MyTable
GROUP BY Message