0
に私はこれを試してみました -私はコミュニケーションの数を取得したいが、その前の週、その後毎週のログインなどのSQL
declare @maxD datetime
select @maxD= max(loggingdate) FROM CommunicationLogs
SELECT Count(loggingdate),@maxD FROM CommunicationLogs
WHERE loggingdate BETWEEN (@maxD - 6) AND @maxD and clientid ='20154'
4 2017-08-21 11:18:24.930
上記の出力は、通信は2017年8月21日午前11時18分前にログインを意味します。 24.930とその7日前は4です。しかし、問題はその最大日付に特有です。私はすべてのログに記録された日付と同じ結果を得たいと思っています。
私は、SQLデータがあるしようとしたが、間違ったデータ -
SELECT COUNT(id),loggingdate FROM CommunicationLogs
WHERE loggingdate BETWEEN (loggingdate - 6) AND loggingdate and clientid ='20154'
group by loggingdate
ORDER BY loggingdate desc
を与える -
31935 2017-08-21 11:18:24.930
31936 2017-08-21 00:00:00.000
31933 2017-08-18 14:53:03.707
31934 2017-08-18 00:00:00.000
31924 2017-08-10 12:06:00.397
31918 2017-07-26 00:00:00.000
31919 2017-07-26 00:00:00.000
31920 2017-07-26 00:00:00.000
31921 2017-07-26 00:00:00.000
31922 2017-07-26 00:00:00.000
31923 2017-07-26 00:00:00.000
31898 2017-07-25 00:00:00.000
31899 2017-07-25 00:00:00.000
31900 2017-07-25 00:00:00.000
31901 2017-07-25 00:00:00.000
31902 2017-07-25 00:00:00.000
31903 2017-07-25 00:00:00.000
31904 2017-07-25 00:00:00.000
31905 2017-07-25 00:00:00.000
31906 2017-07-25 00:00:00.000
31907 2017-07-25 00:00:00.000
31908 2017-07-25 00:00:00.000
31909 2017-07-25 00:00:00.000
31910 2017-07-25 00:00:00.000
31911 2017-07-25 00:00:00.000
31912 2017-07-25 00:00:00.000
31913 2017-07-25 00:00:00.000
31914 2017-07-25 00:00:00.000
31915 2017-07-25 00:00:00.000
31916 2017-07-25 00:00:00.000
31917 2017-07-25 00:00:00.000
31889 2017-07-24 00:00:00.000
31890 2017-07-24 00:00:00.000
の最大日付に依存します"あなたはあなたの現在の質問から得ています、そして、代わりに"正しいデータ "は何でしょうか? –