0
因此,我的查询有麻烦,它选择接下来的三个生日,但说如果有一个生日是在4月12日。一旦四月一号出现,那个生日不再显示。MYSQL生日查询
SELECT `users`.`name`,
Date_format(`users_detail`.`dob_date`, '%d') AS day,
Date_format(`users_detail`.`dob_date`, '%M') AS month
FROM `users_detail`
JOIN `users`
ON `users`.`id` = `users_detail`.`id`
WHERE Date_add(`users_detail`.`dob_date`,
INTERVAL Year(Curdate())- Year(`users_detail`.`dob_date`) + IF(
Dayofyear(
Curdate()) >= Dayofyear(`users_detail`.`dob_date`), 1, 0) year)
BETWEEN Curdate() AND Date_add(Curdate(), INTERVAL 11 month)
ORDER BY `users_detail`.`dob_date` ASC
LIMIT 3
您正试图选择用户的下一个3出生日期?您以什么格式存储'dob_date'列? –