查询最近7天过生日的用户记录的sql如何写,谢谢,mysql数据库的

解决方案 »

  1.   

    select * from table limit 7 where 条件;
      

  2.   

    limit 0,100;从第0个到第100个记录
    limit 7 前7条记录
      

  3.   

    select * from table where date_add(birth_day_field,interval 7 day) > = curdate();
      

  4.   

    想不出什么好办法,用个笨点的select * from table1 
    where DATE_FORMAT(birthday,'%m-%d')= DATE_FORMAT(now(),'%m-%d') or
    where DATE_FORMAT(birthday,'%m-%d')= DATE_FORMAT(date_add(now(), interval 1 day),'%m-%d') or
    where DATE_FORMAT(birthday,'%m-%d')= DATE_FORMAT(date_add(now(), interval 2 day),'%m-%d') or
    ...
    where DATE_FORMAT(birthday,'%m-%d')= DATE_FORMAT(date_add(now(), interval 7 day),'%m-%d')不过这样有点好处,你可以不用考虑2月29日出生的这类特殊的人了,否则的话,你还得分析今年是否是闰年来确定是否有他们的生日存在
      

  5.   

    select * from staffinfo
    where 
      DATE_FORMAT(birthdate,'%m-%d') >= DATE_FORMAT(now(),'%m-%d')  
      and DATE_FORMAT(birthdate,'%m-%d') <= DATE_FORMAT(date_add(now(),  interval 7 day),'%m-%d'); 
    可以我试验过了,不用那么多语句
      

  6.   

    select * from tab_name where birthday_date>=CURDATE() and birthday_date<=date_add(curdate(),interval 7 day);birthday_date     %Y-%m-%dwhere条件中表达式左边应尽量不使用表达式,这样的写法实际就是字段值在一个常数范围内的查询,可以使用索引。