0

できれば一言でやりたいと思います。

私の元のクエリはこれでした:

SELECT CAST(Date as DATE) as DayDate, SUM(Books) as LostBooks 
FROM RestartBooksView 
WHERE Name = 'AUHT167' and Date > (getdate() - 105) 
GROUP BY CAST(Date as DATE) 
ORDER BY CAST(Date as DATE) ASC

このクエリの問題は、現在の午前12時から午前12時ではなく、午前7時から午前7時までに合計を反映させたいことです。この変更を反映するようにクエリを変更するにはどうすればよいですか?

4

1 に答える 1

3

「日付」列が実際には日時であると仮定します。

SELECT CAST(Date as DATE) as DayDate, SUM(Books) as LostBooks
FROM (select rbv.*,
             cast(dateadd(h, -7, date) as date) as newdate
      from RestartBooksView rbv
     )
WHERE Name = 'AUHT167' and newdate > (getdate() - 105)
GROUP BY newdate
ORDER BY CAST(Date as DATE) ASC

SQL Serverの日付関数も使用しました。これは、そのデータベースを使用しているように見えるためです。

于 2012-07-23T15:24:45.183 に答える