小弟现在遇到一个问题,想要过滤日期,但是不晓得查询语句要怎么写才好?现在有一段已经写好的查询语句,如下,希望大家帮帮忙!
declare @CURRENTDATE nvarchar(10)
set @CURRENTDATE =GETDATE()
SELECT '当日' DATETYPE,HOUR,SUM(PV) pv,DATE
FROM ACCESS_FOR_ALLD
WHERE DATETYPE=0 AND PHONETYPE=9999
AND PARENTID=0 AND CHANNEL=9999
AND DATE=@CURRENTDATE
AND (DOOR=3 OR DOOR=4)
GROUP BY HOUR,DATE UNION ALL
SELECT '7日均值' DATETYPE,HOUR,SUM(PV)/7,DATE
FROM ACCESS_FOR_ALLD
WHERE DATETYPE=0 AND PHONETYPE=9999
AND PARENTID=0 AND CHANNEL=9999
AND DATE BETWEEN CONVERT(NVARCHAR(10),DATEADD(DAY,-7,@CURRENTDATE),120)
AND CONVERT(NVARCHAR(10),DATEADD(DAY,-1,@CURRENTDATE),120)
AND (DOOR=3 OR DOOR=4)
GROUP BY HOUR,DATE UNION ALL
SELECT '本月均值' DATETYPE,HOUR,SUM(PV)/30,DATE
FROM ACCESS_FOR_ALLD
WHERE DATETYPE=0 AND PHONETYPE=9999
AND PARENTID=0 AND CHANNEL=9999
AND DATE BETWEEN CONVERT(NVARCHAR(10),DATEADD(DAY,-30,@CURRENTDATE),120)
AND CONVERT(NVARCHAR(10),DATEADD(DAY,-1,@CURRENTDATE),120)
AND (DOOR=3 OR DOOR=4)
GROUP BY HOUR,DATE
收起