(मेरी टिप्पणी को एक उत्तर के रूप में पोस्ट करने के रूप में स्पष्ट रूप से इससे कोई फर्क पड़ता है!)
अगर कोई इसकी आगे जांच करना चाहता है तो मैंने अभी एक परीक्षण किया है और इसे पुन:पेश करना बहुत आसान पाया है।
तालिका बनाएं
CREATE TABLE `filler` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
)
प्रक्रिया बनाएं
CREATE PROCEDURE `prc_filler`(cnt INT)
BEGIN
DECLARE _cnt INT;
SET _cnt = 1;
WHILE _cnt <= cnt DO
INSERT
INTO filler
SELECT _cnt;
SET _cnt = _cnt + 1;
END WHILE;
END
पॉप्युलेट टेबल
call prc_filler(5000)
प्रश्न 1
SELECT id
FROM filler
WHERE id = (SELECT MAX(id) FROM filler WHERE id =
( SELECT MIN(id)
FROM filler
WHERE id between 2000 and 3000
)
)
बराबर व्याख्या आउटपुट http://img689.imageshack.us/img689/5592/equals. png
प्रश्न 2 (एक ही समस्या)
SELECT id
FROM filler
WHERE id in (SELECT MAX(id) FROM filler WHERE id in
( SELECT MIN(id)
FROM filler
WHERE id between 2000 and 3000
)
)
आउटपुट के बारे में बताएं http://img291.imageshack.us/img291/8129/52037513. png