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

qaz*_*wsx 0 mysql

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

SELECT 
    t1.id 
FROM 
    t AS t1
  , t AS t2 
WHERE 
    t2.id=123 
AND t1.a=t2.a;
Run Code Online (Sandbox Code Playgroud)

但它一直在运行.

N W*_*est 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;
Run Code Online (Sandbox Code Playgroud)

你的桌子里有多少行?索引的"a"列是否已编入索引?添加索引应加快连接速度.

这是一个关于SQLFiddle的例子.