同じ列の値 (SSN フィールドなど) を持つすべての行を選択できますが、それらをすべて別々に表示できますか? ?
この回答を検索しましたが、行がまったく同じであることを要求する「count(*) and group by」セクションがすべてあります。
同じ列の値 (SSN フィールドなど) を持つすべての行を選択できますが、それらをすべて別々に表示できますか? ?
この回答を検索しましたが、行がまったく同じであることを要求する「count(*) and group by」セクションがすべてあります。
これを試して:
SELECT A, B FROM MyTable
WHERE A IN
(
SELECT A FROM MyTable GROUP BY A HAVING COUNT(*)>1
)
私はSQLサーバーを使用しました。しかし、これがあなたが必要とするものであることを願っています
サブクエリの代わりに分析関数を使用して重複カウントを取得する、テーブルを 1 回だけ参照する別のアプローチを次に示します。特定のデータによっては、そうでない場合もあります。
SELECT * FROM (
SELECT col1, col2, col3, ssn, COUNT(*) OVER (PARTITION BY ssn) ssn_dup_count
)
WHERE ssn_dup_count > 1
ORDER BY ssn_dup_count DESC
SELECT
*
FROM
MyTable
WHERE
EXISTS
(
SELECT
NULL
FROM
MyTable MT
WHERE
MyTable.SameColumnName = MT.SameColumnName
AND MyTable.DifferentColumnName <> MT.DifferentColumnName)
これにより、必要なデータが取得され、グループ化されたデータをまとめて表示できるように順番に表示されます。
SELECT * FROM TABLENAME
WHERE SSN IN
(
SELECT SSN FROM TABLENAMEGROUP BY SSN HAVING COUNT(SSN)>1
)
ORDER BY SSN
ここで SSN は、同様の値チェックが行われる列名です。