所以我有一個表,my_table
有一個主鍵,id
(INT
),並進一步列foo
(VARCHAR
)和bar
(DOUBLE
)。每foo
應出現一次在我的表中,與相關bar
值,但我知道我有幾個行與foo
相同不同bar
s。如何獲得包含相同foo
值但具有不同bar
s(例如,相差超過10)的那些行的列表? 我想:MySQL表自連接返回的行數太多
SELECT t1.id, t1.bar, t2.id, t2.bar, t1.foo FROM my_table t1, my_table t2 WHERE t1.foo=t2.foo AND t1.bar - t2.bar > 10.;
,但我得到很多很多的結果(比中行my_table
的總數還多)。我覺得我一定在做一些非常明顯的愚蠢行爲,但是看不到我的錯誤。
啊 - 謝謝SWeko:我想我明白爲什麼我會得到如此多的結果。有沒有計算SQL的方法,對於每個foo
,foo
與bar
之間的差值大於10的行數。
相差10 t1.bar - t2.bar = 10 – 2013-02-22 15:43:26
我想他的意思相差至少10 – 2013-02-22 15:44:01