Php SQL联接查询,其中datetime比当前时间早X小时

Php SQL联接查询,其中datetime比当前时间早X小时,php,mysql,Php,Mysql,我有两张桌子: 票 车票更新 各栏分别为: 票据表格 票号 ticket\u更新表格 票号 日期时间 ticketnumber=ticketnumber在两个表中。对于票证表中的每一行,票证更新中有多行 我想运行一个查询,其中ticket_updates表中的最后一行比当前时间早1小时或更长。我该怎么做?我想你想要这个: select t.* from tickets t join (select ticketnumber, max(datetime) as maxdt f

我有两张桌子:

  • 车票更新
  • 各栏分别为:

    票据
    表格

  • 票号
  • ticket\u更新
    表格

  • 票号
  • 日期时间
  • ticketnumber=ticketnumber
    在两个表中。对于
    票证
    表中的每一行,
    票证更新中有多行

    我想运行一个查询,其中ticket_updates表中的最后一行比当前时间早1小时或更长。我该怎么做?

    我想你想要这个:

    select t.*
    from tickets t join
         (select ticketnumber, max(datetime) as maxdt
          from ticket_updates tu
          group by ticketnumber
         ) tu
         on t.ticketnumber = tu.ticketnumber
    where tu.maxdt < now() - interval 1 hour;
    
    如果您在
    ticketupdates(ticketnumber,datetime)
    上有索引,这可能会执行得更好

    select t.*
    from tickets t
    where not exists (select 1
                      from ticketupdates tu
                      where tu.ticketnumber = t.ticketnumber and
                            tu.datetime >= now() - interval 1 hour
                     );