我的数据库中有一个日期字段,即film_release_date。
那么从表中获取下周数据的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(CURRENT_DATE)
AND film_release_date>=(CURRENT_DATE)
ORDER BY film_release_date DESC
实际上它的电影网站我有几个电影在我的数据库中,所以我需要一个查询,它每下周取一部电影,这意味着下周发行的电影意味着下周五。如果我今天运行这个,也就是13,那么它会显示15到22之间的所有电影,如果运行15到22,那么它会显示22到29之间的数据
最佳答案
set @d := date_add(CURRENT_DATE, interval 7 day);
set @week_start := @d - interval (dayofweek(@d) + 1) day;
set @week_end := @d + interval (6 - dayofweek(@d)) day;
SELECT *,
DATE_FORMAT(film_release_date,'%e-%b-%Y') AS release_date
FROM gf_film
WHERE film_release_date between @week_start and @week_end
ORDER BY film_release_date DESC
关于php - mysql仅选择下周数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6671489/