我有一个数据表result(id, url, is_valid)
数据插入的时候is_valid字段默认为true
现在有一个需求,需要从数据表里面读出前10个is_valid字段为true的数据并把这10个数据is_valid字段标记为false注:随时会有新数据插入result表请问这个需要如何实现
数据插入的时候is_valid字段默认为true
现在有一个需求,需要从数据表里面读出前10个is_valid字段为true的数据并把这10个数据is_valid字段标记为false注:随时会有新数据插入result表请问这个需要如何实现
------
前10个,有没有逻辑判断,比如同一个ID,前10个url为true,这10条记录更新为False,不满足10条或前10条有False时不处理?
---
猜一个,只是url相同的为true的记录数,取前10个url,再更新这10个url所有记录
e.g.update tab1 as a inner join (select url from tab1 where is_valid=1 group by url order by count(*) limit 10) as b on a.id=b.id
set is_valid=0;
set is_valid=false
where is_valid=true
order by id desc limit 10