0

attribute1MySQLで、特定の行と同じであるすべての行を見つけるにはどうすればよいattribute1ですか?やろうと思った

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

しかし、それは何年もの間実行されています。

4

1 に答える 1

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」列にはインデックスが付けられていますか?インデックスを追加すると、結合が高速化されます。

これがSQLFiddleの例です。

于 2012-06-25T18:16:51.850 に答える