0

テーブルに application_id という名前の列があり、次のような値が含まれています

32,
65,
75,
75,
32,
45,
56,
78,
64

繰り返される値を取得したいだけです

75,32のように

私はそれがdistinctとはやや反対だと思います。方法がわからない?

4

2 に答える 2

5

選択したいだけの場合は、 @ Sayonjiapplication_idによってすでに提案されているクエリを使用してください

SELECT application_id FROM MyTable GROUP BY application_id HAVING count(*) > 1

ただし、すべての列を選択したい場合は、サブクエリを使用してこれを実現できます。

SELECT DISTINCT * FROM MyTable
WHERE application_id IN
(
   SELECT application_id FROM MyTable
   GROUP BY application_id
   HAVING COUNT(*) > 1
);

または、自己結合を使用します。

SELECT DISTINCT t1.* FROM MyTable t1
JOIN
(
   SELECT application_id FROM MyTable
   GROUP BY application_id
   HAVING COUNT(*) > 1
) t2
ON t1.application_id = t2.application_id;

このSQLFiddleを参照してください

于 2013-09-23T05:11:24.220 に答える
0

何かのようなもの

SELECT a_id FROM mytable GROUP BY a_id HAVING count(a_id) > 1
于 2013-09-23T05:13:56.443 に答える