最近我在接受采访时被问到以下问题:
返回表中两个不同的重复行 日期/时间。
我最好的猜测是:
SELECT *,
COUNT(LogDate) AS NumOccurrences
FROM LogTable
WHERE LogDate > "SomeDate"
AND LogDate < "SomeDate"
GROUP BY LogDate
HAVING ( COUNT(LogDate) > 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