更新值等于最后x条记录上不出现的计数

irlmq6kh  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(325)

我有一个mysql表,其中每隔一段时间插入一个0到99之间的数字。每次插入一个新值时,我需要计算有多少0到99之间的数字没有出现在前100条记录中,并进行更新 not_in_last_100_repetitions .
您可以假设我的表的结构是:

num (int, primary, auto-increment) | winner (varchar) | not_in_last_100_repetitions (int)

通过选择和排序,您可以知道前面的100个数字 num .
我准备了这把小提琴:http://sqlfiddle.com/#!9/7a0a2e型

j2cgzkjk

j2cgzkjk1#

是否要通过触发器更新列?还是单独声明?
不管怎样,下面计算的是 0-99 在最后100条记录中不存在:

select 100 - count(distinct winner) 
from mytable 
where num >= (select max(num) from mytable) - 100

相关问题