php mysql check endtime小于2.50小时并更新记录

toiithl6  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(192)

我有两个表用户和活动。
用户表有如下字段

id, data_limit
 1     50
 2     180
 3     180

活动表包含如下字段

campaign_id, user_id, end_datetime
   1              1         2016-10-06 09:05:10
   2              1         2016-10-04 10:05:10
   3              2         2016-10-06 13:05:10
   4              2         0000-00-00 00:00:00
   5              3         2016-10-06 13:05:10

我的要求
当活动表中的结束日期时间距当前时间小于2.50小时时,将用户表的数据限制增加到200。操作必须在最新结束日期时间(desc)执行
在这里的示例数据中,查询必须只检查值为2016-10-06 09:05:10的用户id 1的结束日期时间,因为它是最新的结束日期时间

hc2pp10m

hc2pp10m1#

请尝试此查询:

update tbluser u, (select u.id from tbluser u1 left join campaigntbl c on c.user_id =u1.id 
group by c.user_id having ADDTIME(max(c.end_datetime), '2:30') < now() ) as tbl set u.data_limit = u.data_limit + 200 where  u.id=tbl.id

相关问题