SQL-查找给定日期的重复记录数
我正在尝试查找给定日期的重复记录,这些记录与提供的名称匹配。我已经取得了接近目标的成绩。但是该查询提供了给定日期的所有行,而不是重复的行SQL-查找给定日期的重复记录数,sql,vb.net,Sql,Vb.net,我正在尝试查找给定日期的重复记录,这些记录与提供的名称匹配。我已经取得了接近目标的成绩。但是该查询提供了给定日期的所有行,而不是重复的行 SELECT NameID, DateTime, ROW_Number() over(PARTITION BY NameID, CONVERT(NVARCHAR(25), DateTime, 111) ORDER BY DateTime ASC) DuplicateCount FROM Employee ORDER BY NameID "SELECT sTe
SELECT NameID, DateTime, ROW_Number() over(PARTITION BY NameID, CONVERT(NVARCHAR(25), DateTime, 111) ORDER BY DateTime ASC) DuplicateCount FROM Employee ORDER BY NameID
"SELECT sTechID, MIN(Convert(NVARCHAR(25), sDateTime, 10)), COUNT(*) FROM LTI_Scout GROUP BY sTechID, CONVERT(NVARCHAR(25), sDateTime, 111) HAVING COUNT(*) > 1"
我只想返回给定日期内具有多个NameID条目的员工的记录。这是在Visual Studio 2008中运行的。我通过数据读取器返回结果,并从中填充列表视图
基本上,我只是缺少了一个元素,它只返回重复计数大于1的记录。如果我能以这样的方式限制结果,我会认为这是一个胜利。
多谢各位
解决方案
显示给定日期具有多条记录的员工的姓名ID、计数和最早日期
SELECT NameID, DateTime, ROW_Number() over(PARTITION BY NameID, CONVERT(NVARCHAR(25), DateTime, 111) ORDER BY DateTime ASC) DuplicateCount FROM Employee ORDER BY NameID
"SELECT sTechID, MIN(Convert(NVARCHAR(25), sDateTime, 10)), COUNT(*) FROM LTI_Scout GROUP BY sTechID, CONVERT(NVARCHAR(25), sDateTime, 111) HAVING COUNT(*) > 1"
您是否考虑过使用GROUP BY并结合使用子句?以下是一些可能会让您开始的伪代码:
Select NameID
FROM TableName
GROUP BY NameID, CONVERT(NVARCHAR(25), DateTime, 111)
HAVING COUNT(*) > 1
您是否尝试过在HAVING语句中使用GROUPBY子句?这通常是我查找重复项的方式。我也需要输出中的DateTime,但当我尝试将其添加到SELECT NameID DateTime时,它告诉我它无效,因为它未包含在聚合函数或Group BY子句中。您能解释一下如何实现这一点吗?只需将其添加到GROUPBY子句中:GROUPBYNAMEID,CONVERT(NVARCHAR(25),DATETIME,111),DATETIME