SQL을 사용하여 실행 중인 카운터의 공백 찾기
SQL은 테이블의 일련의 실행 카운터에서 누락된 값을 찾는 강력한 메커니즘을 제공합니다.
실행 카운터 열에서 첫 번째 누락된 값을 확인하려면(예: 값 1, 2, 4, 5가 있지만 3이 누락됨) 다음 SQL 기술을 사용할 수 있습니다.
MySQL 및 PostgreSQL:
SELECT id + 1 FROM mytable mo WHERE NOT EXISTS ( SELECT NULL FROM mytable mi WHERE mi.id = mo.id + 1 ) ORDER BY id LIMIT 1;
SQL 서버:
SELECT TOP 1 id + 1 FROM mytable mo WHERE NOT EXISTS ( SELECT NULL FROM mytable mi WHERE mi.id = mo.id + 1 ) ORDER BY id;
오라클:
SELECT * FROM ( SELECT id + 1 AS gap FROM mytable mo WHERE NOT EXISTS ( SELECT NULL FROM mytable mi WHERE mi.id = mo.id + 1 ) ORDER BY id ) WHERE rownum = 1;
ANSI SQL(가장 효율적이지 않음):
SELECT MIN(id) + 1 FROM mytable mo WHERE NOT EXISTS ( SELECT NULL FROM mytable mi WHERE mi.id = mo.id + 1 );
슬라이딩 윈도우 기능을 지원하는 시스템:
SELECT previd + 1 FROM ( SELECT id, LAG(id) OVER (ORDER BY id) previd FROM mytable ) q WHERE previd < id LIMIT 1;
이러한 SQL 기술을 사용하면 사용 중인 데이터베이스 시스템에 관계없이 SQL 테이블의 실행 카운터 열에서 누락된 간격을 효과적으로 식별할 수 있습니다.
위 내용은 SQL은 실행 중인 카운터 열에서 첫 번째 누락된 값을 어떻게 식별할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!