2008年4月18日
DB | SQLパズル
2-3-28 最小の空き番号を取得その2誰かこれのMySQL(4.1)版を教えてください。
SELECT
MIN(t0.No) + 1
FROM
GetNo AS t0
LEFT JOIN GetNo AS t1 ON t0.No + 1 = t1.No
WHERE
t1.No IS NULL;
これだと1が抜けている場合にダメだ。
Comment
実際に動かしてないですけど、これならどうでしょう?
select ifnull(ifnull(min(cnt), max(No) + 1), 1)
from (select a.No, nullif(count(*), a.No) as cnt
from GetNo a, GetNo b
where a.No >= b.No
group by a.No) as x
Posted by: kamataro : 2008年4月23日 15:46