update `characters` set online = 2 WHERE `account` IN (SELECT `id` FROM `realmd`.`account` where `last_login` < '2010-08-01 00:02:03');
上面这一句SQL就是把 characters表中的online=2即可,要求他是在最后的'2010-08-01 00:02:03' 登录的现在我想把这一句改良以下,就是。。嗯。。在以上的基础上,只随机找出30条characters表中的满足最后登录时间的数据,把他设置为online=2请高手赐教!谢谢

解决方案 »

  1.   

    update `characters` set online = 2 WHERE `account` IN (SELECT `id` FROM `realmd`.`account` where `last_login` < '2010-08-01 00:02:03') limit 30;
      

  2.   

    update `characters` 
    set online = 2 
    WHERE `account` IN 
    (
    SELECT `id` FROM `realmd`.`account` 
    where `last_login` < '2010-08-01 00:02:03'
    )
    order by rand()
    limit 30;
      

  3.   

    哈哈,恭喜rucypli 变成猩猩了