在MySQL中,如何找到`attribute1`与特定行的`attribute1`相同的所有行?

时间:2012-06-25 17:54:03

标签: mysql

在MySQL中,如何查找attribute1与特定行attribute1相同的所有行?我想过要做什么

SELECT 
    t1.id 
FROM 
    t AS t1
  , t AS t2 
WHERE 
    t2.id=123 
AND t1.a=t2.a;

但它一直在运行。

1 个答案:

答案 0 :(得分:5)

这应该可以返回所需的行。

SELECT t1.id 
 FROM t AS t1
 JOIN t AS t2 ON (t1.a = t2.a and t1.id <> t2.id)
WHERE t2.id=123;

你的桌子里有多少行?索引的“a”列是否已编入索引?添加索引可以加快连接速度。

Here's an example on SQLFiddle.