所以我有一个表,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