Php mysql仅选择下周数据
我的数据库中有一个日期字段,即电影发布日期 那么,从表中获取下周数据的mysql查询是什么呢 我运行了这个查询,但它不能正常工作Php mysql仅选择下周数据,php,mysql,Php,Mysql,我的数据库中有一个日期字段,即电影发布日期 那么,从表中获取下周数据的mysql查询是什么呢 我运行了这个查询,但它不能正常工作 SELECT *, DATE_FORMAT(film_release_date,'%e-%b-%Y') AS release_date FROM gf_film WHERE MONTH(film_release_date)=MONTH(CURRENT_DATE) AND YEAR(film_release_date)=YEAR
SELECT
*,
DATE_FORMAT(film_release_date,'%e-%b-%Y') AS release_date
FROM gf_film
WHERE
MONTH(film_release_date)=MONTH(CURRENT_DATE)
AND YEAR(film_release_date)=YEAR(CURRENT_DATE)
AND film_release_date>=(CURRENT_DATE)
ORDER BY film_release_date DESC
实际上,这是电影网站,我的数据库中有好几部电影,所以我需要一个查询,获取每下周的电影,这意味着下周将发布的电影意味着下周五。如果我今天运行,即13,那么它显示15到22之间的所有电影,如果在15到22之间运行,那么它将显示22到29之间的数据,以获得下周您可以简单应用以下逻辑的数据:
SELECT something FROM tbl_name
-> WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAYS)
有点晚了,但是没有一个答案是正确的。您可以使用yearweek函数获取一年中的周数。因此,您可以获得now(本周)的周数或now()+间隔7天以获得下周。示例: 本周
SELECT *, DATE_FORMAT(film_release_date,'%e-%b-%Y') AS release_date
FROM gf_film
WHERE YEARWEEK(film_release_date) = YEARWEEK(NOW())
ORDER BY film_release_date DESC
下周
SELECT *, DATE_FORMAT(film_release_date,'%e-%b-%Y') AS release_date
FROM gf_film
WHERE YEARWEEK(film_release_date) = YEARWEEK(NOW() + INTERVAL 7 DAY)
ORDER BY film_release_date DESC
定义“无法正常工作”是查询无法获取下周数据实际上每周从每个星期五开始每周从每个星期五开始。我已经清楚地提到了电影相关的数据,所以如果我在monady上运行这个查询,那么它应该返回数据,这些数据将在下一次发布后发布friday@pravat,每周只有一个星期五。我知道,我只需要知道,如果我在星期五到星期五之间运行此查询,那么它将返回从星期五到下星期五的数据。明白吗??
SELECT *, DATE_FORMAT(film_release_date,'%e-%b-%Y') AS release_date
FROM gf_film
WHERE YEARWEEK(film_release_date) = YEARWEEK(NOW() + INTERVAL 7 DAY)
ORDER BY film_release_date DESC