1

同じ列の値 (SSN フィールドなど) を持つすべての行を選択できますが、それらをすべて別々に表示できますか? ?

この回答を検索しましたが、行がまったく同じであることを要求する「count(*) and group by」セクションがすべてあります。

4

4 に答える 4

2

これを試して:

SELECT A, B FROM MyTable
WHERE A IN
(
    SELECT A FROM MyTable GROUP BY A HAVING COUNT(*)>1
)

私はSQLサーバーを使用しました。しかし、これがあなたが必要とするものであることを願っています

ここに画像の説明を入力してください

于 2012-09-25T11:03:53.720 に答える
2

サブクエリの代わりに分析関数を使用して重複カウントを取得する、テーブルを 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
于 2012-09-25T12:16:04.380 に答える
0
SELECT
    *
FROM
    MyTable
WHERE
    EXISTS
    (
        SELECT
            NULL
        FROM
            MyTable MT
        WHERE
            MyTable.SameColumnName = MT.SameColumnName
        AND MyTable.DifferentColumnName <> MT.DifferentColumnName)
于 2012-09-25T11:02:29.603 に答える
0

これにより、必要なデータが取得され、グループ化されたデータをまとめて表示できるように順番に表示されます。

SELECT * FROM TABLENAME
WHERE SSN  IN
(
    SELECT SSN FROM TABLENAMEGROUP BY SSN HAVING COUNT(SSN)>1
)

ORDER BY SSN 

ここで SSN は、同様の値チェックが行われる列名です。

于 2012-09-25T11:13:57.970 に答える