mysql取表中最新三天的记录,sql语句怎么写。从网上查了一条,但这是以当前时间为起点取最近几天的记录select * from rewards where DATE_SUB(CURDATE(), INTERVAL 4 DAY)
 <= date(day) order by day descMySQL

解决方案 »

  1.   

    $startDate=date('Y-m-d',strtotime("-29 days"));
    $endDate=date('Y-m-d');
    $sql="select * from rewards  createTime>='".$start." 00:00:00' and createTime<='".$end." 00:59:59'";
      

  2.   

    比方说今天是5月14号,表中的数据day只有到五月10号的,我本意是想取出8、9、10三天的,如果是以14号为参照点往前取三天的,取的是12、13、14三天的(没数据),就没法满足要求吧
      

  3.   

    try
    select * from tt inner join
    (select date(day) as `day` from tt group by date(`day`) order by `day` desc limit 3) a
    on date(tt.day)=a.day