id name datetime 1 a 2010-05-13 10:15:00 2 b 2010-05-14 09:10:00 3 d 2010-05-14 10:10:00
如何将距离目前最近的那个记录的name 更新为“x”呢
谢谢咯 啊 呵呵update table_name set name='x' where datetime in (select max(datetime) as datetime from table_name)
up!!!! 对 应该就这样的 不过如果数据量大的话可以用exists update table_name a set name='x' where exists ( select 1 from ( select max(datetime) from table_name ) b where b.datetime=a.datetime );
update tble set name='x' where not exists (select 1 from tbl b where b.ttime<tble.ttime);
好像不行哦
出现这样的错误哦 #1093 - You can't specify target table 'te_log' for update in from clause MYSQL数据库不支持吧。 错误提示就是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)
思路,create table_name as select max(datetime) as datetime from table_name 然后update table_name set name='x' where datetime in 上面那个表; 然后drop那个表试试 试了一下不支持,字查询用临