怎么查出缺少的那条数据

WBOY
Lepaskan: 2016-09-24 09:15:08
asal
1316 orang telah melayarinya

比如我现在有999条数据,id是1到1000,怎样用sql语句,查出缺少的那个id是什么?
PS:如果缺的是两条数据呢?

回复内容:

比如我现在有999条数据,id是1到1000,怎样用sql语句,查出缺少的那个id是什么?
PS:如果缺的是两条数据呢?

<code>(1+2+...+1000) - sum(id)  不就行了吗?</code>
Salin selepas log masuk
<code>第一个
select t.id from (select @rownum:=@rownum+1 no,id  from table, 
(SELECT @rownum:=0) r)t where t.no - t.id = 1 limit 1
第二个
select t.id from (select @rownum:=@rownum+1 no,id  from table, 
(SELECT @rownum:=0) r)t where t.no - t.id = 2 limit 1</code>
Salin selepas log masuk

不推荐用 SQL 语句来执行这种复杂操作,与其给数据库增加负担,不如让 PHP 来承受~

<code><?php $arr = [1,4,8,9,10,20]; // 假设这是从数据库中读取出来的ID数组
$res = [];
for ($i = 0; $i < count($arr)-1; $i++) {
    if (($num = $arr[$i+1] - $arr[$i]) > 1) {
        for ($j = 1; $j </code>
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!