我不undersand爲什麼MySQL的返回「MySQL並沒有生產記錄」,而我使用EXISTS(我情願選擇不產生記錄的子查詢):沒有結果,即使通過使用EXISTS
SELECT page_ID
FROM ranks_update
WHERE EXISTS (
SELECT *
FROM ranks_update
WHERE ranking_ID = 3
AND current_rank = 1
AND rating_time < '2012-08-05 02:57:59'
AND rating_time >= '2012-08-05 00:00:00'
GROUP BY page_ID
);
根據定義,EXISTS允許從不返回任何記錄的查詢中得到結果。直到現在,在這種情況下,我一直都是NULL。
什麼子查詢的回報? – 2012-08-05 16:31:38
我願意選擇一個不產生記錄的子查詢。 – Anon 2012-08-05 16:37:10
EXISTS(aaa)會產生一個布爾值,在你的情況下是「False」。你可以用'WHERE(1 = 0)'代替'WHERE EXISTS(...)'並得到相同的結果。順便說一下:子查詢與主要查詢不相關。這是你的意圖嗎? – wildplasser 2012-08-05 16:39:21