获取两个日期时间之间的所有重复行。

时间:2013-01-23 15:38:31

标签: sql tsql

最近我在接受采访时被问到以下问题:

返回表中两个不同的重复行 日期/时间。

我最好的猜测是:

SELECT *, 
COUNT(LogDate) AS NumOccurrences
FROM LogTable
WHERE LogDate > "SomeDate" 
AND LogDate < "SomeDate"
GROUP BY LogDate
HAVING ( COUNT(LogDate) > 1 )

我在球场吗?对正确答案的任何想法?

感谢。

1 个答案:

答案 0 :(得分:5)

无需在选择中计算(*)(至少不是你的问题)。

select中的所有字段必须在GROUP BY子句中(但当然,GROUP BY中的字符数多于SELECT中的字段数)

SELECT field1, field2, LogDate
FROM LogTable
WHERE LogDate BETWEEN "SomeDate" AND "SomeOtherDate"
GROUP BY field1, field2, LogDate
HAVING COUNT(*) > 1