【发布时间】:2021-07-11 02:59:44
【问题描述】:
我有初始格式的数据:
第 1 步:找出拥有超过 1 条记录的用户并显示这些记录。这是使用以下方法实现的。
SELECT ID,
USER,
STATUS
FROM TABLE
WHERE USER in
(SELECT USER
FROM TABLE
GROUP BY USER
HAVING COUNT(*) > 1)
*第 2 步:从上述记录集中找出所有值为 1 或 2 的记录。SO 数据应类似于:
我能否就如何实现这一目标提出一些建议。注意状态为NVARCHAR,因此不能使用聚合函数。
【问题讨论】:
-
根据问题指南,请不要发布代码、数据、错误消息等的图像 - 复制或键入问题中的文本。请保留将图像用于图表或演示渲染错误,这些无法通过文本准确描述的事情。请展示您尝试过的内容,并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
-
没有 count(*) in (1,2) 不起作用?
-
您可能需要将您的状态转换为数值 - 理想情况下,您一开始不会将其存储为字符串。
标签: sql sql-server tsql group-by