隨着LEFT JOINMysql(左)JOIN如何解釋這種行爲?
SET @foo:=0;
SELECT @foo
FROM test t1
LEFT JOIN test t2 ON t2.id=t1.id AND (@foo:[email protected]+1);
打印0,0,0,0,0,0,0 ......
但JOIN
SET @foo:=0;
SELECT @foo
FROM test t1
JOIN test t2 ON t2.id=t1.id AND (@foo:[email protected]+1);
打印1,2, 3,4,5,6 ...
有人知道嗎?謝謝!
UPD。此查詢產生相同的行除了@foo值
你有沒有比較的兩個'EXPLAIN SELECT's?我不知道這有幫助,但http://www.xaprb.com/blog/2006/12/15/advanced-mysql-user-variable-techniques/ – biziclop 2012-02-17 08:39:04
這本身就是一個有趣的問題。但是你可以通過SELECT @foo:= @ foo + 1來解決這個問題。 – Mchl 2012-02-17 08:59:55