従業員の毎日のプログラムを示す表があります。
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 つのレコードを返します。1 人のユーザー ( UserID) が 1 日に 2 つの異なる場所に移動できるためです。
たとえば、このユーザーは、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
しかし、その操作は 1 日だったので、1 つのレコードを取得したいと考えています。
どうすれば入手できますか?
私はMSSQLを使用しています。StartTime は SQL の日時です。