有一个表格显示员工的日常计划。
SELECT COUNT(*) AS TotalDay FROM [User]
INNER JOIN [x] ON [x].UserID = [User].ID
WHERE
StartTime BETWEEN '20120611' AND '20120618' AND UserID = 20
GROUP BY [User].ID, [User].Name
ORDER BY Name
它返回 7 条记录。因为一天之内,一个用户(UserID)可以去两个不同的地方。
例如,该用户从 20120611 08:30:00 到 20120611 13:30:00 去 A 地,从 20120611 14:00:00 到 20120611 19:00:00 去 B 地
当我使用以下查询时,这将返回 2 条记录。
SELECT COUNT(*) AS TotalDay FROM [User]
INNER JOIN [x] ON [x].UserID = [User].ID
WHERE
StartTime = '20120611' AND UserID = 20
GROUP BY [User].ID, [User].Name
ORDER BY Name
但我想获得一张记录,因为那是一天之内的手术。
那么我怎样才能得到它呢?
我使用 MSSQL。StartTime 是 sql 中的日期时间。