查询SQL中连续编号中间的断号 和 mysql 如何找出不连续的 断号

575 阅读1分钟
  1. 生成连续的编号 的临时表

0到 500 的数字可以用

select help_topic_id from
 mysql.help_topic 

SELECT @rank := @rank + 1 AS RANK
FROM ( SELECT num FROM table WHERE IsDelete = 0 ORDER BY num ) p, ( SELECT @rank := 0 ) pp

  1. 找出目标数据不再临时表中的编号 NOT IN

SELECT * FROM ( SELECT @rank := @rank + 1 AS RANK FROM ( SELECT ApplicationBusinessType FROM FormRegistConfig WHERE IsDelete = 0 AND FormType = 0 ORDER BY ApplicationBusinessType ) p, ( SELECT @rank := 0 ) pp

) w 

WHERE w.RANK NOT IN ( SELECT ApplicationBusinessType FROM FormRegistConfig WHERE IsDelete = 0 AND FormType = 0 )