SQL 查询日期 = 今天减 7 天
SQL Query Where Date = Today Minus 7 Days
我的网站 ExternalHits 有 SQL table 次点击。我将 URL 跟踪为 URLx,并将页面访问日期跟踪为 Datex。我每周 运行 这个查询来获取前一周的总点击数,每周我都必须手动更改 "between" 日期。有什么方法可以更改我的查询,使 "between" 日期类似于今天和今天-7?我只是不想每周手动更改日期。
SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN '02/27/2017' AND '03/05/2017'
GROUP BY URLx
ORDER BY Count DESC;
使用内置函数:
SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW()
GROUP BY URLx
ORDER BY Count DESC;
您可以使用 CURDATE()
and DATE_SUB()
函数来实现:
SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
GROUP BY URLx
ORDER BY Count DESC;
declare @lastweek datetime
declare @now datetime
set @now = getdate()
set @lastweek = dateadd(day,-7,@now)
SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN @lastweek AND @now
GROUP BY URLx
ORDER BY Count DESC;
你可以用这个从当前日期减去 7:
WHERE datex BETWEEN DATEADD(day, -7, GETDATE()) AND GETDATE()
使用以下内容:
WHERE datex BETWEEN GETDATE() AND DATEADD(DAY, -7, GETDATE())
希望对您有所帮助。
使用 dateadd 从当前日期删除一周。
datex BETWEEN DATEADD(WEEK,-1,GETDATE()) AND GETDATE()
DECLARE @Daysforward int
SELECT @Daysforward = 25 (no of days required)
Select * from table name
where CAST( columnDate AS date) < DATEADD(day,1+@Daysforward,CAST(GETDATE() AS date))
对于 MariaDB:
WHERE datex BETWEEN DATE_ADD(CURDATE(), INTERVAL -7 DAY) AND CURDATE()
对我有帮助。
我的网站 ExternalHits 有 SQL table 次点击。我将 URL 跟踪为 URLx,并将页面访问日期跟踪为 Datex。我每周 运行 这个查询来获取前一周的总点击数,每周我都必须手动更改 "between" 日期。有什么方法可以更改我的查询,使 "between" 日期类似于今天和今天-7?我只是不想每周手动更改日期。
SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN '02/27/2017' AND '03/05/2017'
GROUP BY URLx
ORDER BY Count DESC;
使用内置函数:
SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW()
GROUP BY URLx
ORDER BY Count DESC;
您可以使用 CURDATE()
and DATE_SUB()
函数来实现:
SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
GROUP BY URLx
ORDER BY Count DESC;
declare @lastweek datetime
declare @now datetime
set @now = getdate()
set @lastweek = dateadd(day,-7,@now)
SELECT URLX, COUNT(URLx) AS Count
FROM ExternalHits
WHERE datex BETWEEN @lastweek AND @now
GROUP BY URLx
ORDER BY Count DESC;
你可以用这个从当前日期减去 7:
WHERE datex BETWEEN DATEADD(day, -7, GETDATE()) AND GETDATE()
使用以下内容:
WHERE datex BETWEEN GETDATE() AND DATEADD(DAY, -7, GETDATE())
希望对您有所帮助。
使用 dateadd 从当前日期删除一周。
datex BETWEEN DATEADD(WEEK,-1,GETDATE()) AND GETDATE()
DECLARE @Daysforward int
SELECT @Daysforward = 25 (no of days required)
Select * from table name
where CAST( columnDate AS date) < DATEADD(day,1+@Daysforward,CAST(GETDATE() AS date))
对于 MariaDB:
WHERE datex BETWEEN DATE_ADD(CURDATE(), INTERVAL -7 DAY) AND CURDATE()
对我有帮助。