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

Pet*_*ter 2 sql t-sql

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

返回表中两个不同日期/时间之间的所有重复行.

我最好的猜测是:

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

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

谢谢.

Rap*_*aus 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
Run Code Online (Sandbox Code Playgroud)