私はTerradata SQLを作成しています。私はカウントと他の変数と重複フィールドを取得したいと思います。私はカウントを得る方法しか見つけることができませんが、正確に変数を得ることはできません。SQL:他の変数と一緒に重複する行を取得する
利用可能な入力
+---------+----------+----------------------+
| id | name | Date |
+---------+----------+----------------------+
| 1 | abc | 21.03.2015 |
| 1 | def | 22.04.2015 |
| 2 | ajk | 22.03.2015 |
| 3 | ghi | 23.03.2015 |
| 3 | ghi | 23.03.2015 |
予想される出力:私は重複がIDでとすることを決めているすべての重複行、探しています
:
+---------+----------+----------------------+
| id | name | count | // Other fields
+---------+----------+----------------------+
| 1 | abc | 2 |
| 1 | def | 2 |
| 2 | ajk | 1 |
| 3 | ghi | 2 |
| 3 | ghi | 2 |
は、私が何を探しています重複行も検索します。
私が今まで持っているすべてがある:これは、正しいデータが表示されない
SELECT
id, name, other-variables, COUNT(*)
FROM
Table_NAME
GROUP BY
id, name
HAVING
COUNT(*) > 1
。ありがとうございました。上記に、あなたは簡素化することができISO SQL構文へのTeradata拡張機能を使用して
SELECT *
FROM (
SELECT id, name, other-variables,
COUNT(*) OVER (PARTITION BY id) AS duplicates
FROM users
) AS sub
WHERE duplicates > 1
:
期待した結果が、あなたの試行で選択している列と一致しません。あなたが実際に得ようとしているものを提供してください。 –
追加属性なしで重複をカウントするクエリがある場合は、それをサブクエリに配置し、それを外部クエリに結合します。外部クエリには、必要な追加属性も取り込むことができます。 – HoneyBadger
@TomH:申し訳ありませんが、以前はリンクで見つかったクエリを貼り付けてクエリを修正しました。ありがとうございました。 :-) –