2016-09-01 7 views
-1

SQLクエリを使用して重複したテキスト値でのみテーブルを取得する必要があります。私はHaving count(columnname) > 1を使用しましたが、結果が得られません。すべての値を取得する代わりに、重複した値でしか得られません。SQLクエリから重複したテキスト値を取得する方法

誰でも私のクエリに何かを追加する必要があるかどうかを提案できますか?

ありがとうございました。

SELECT 
    column1, COUNT(*) 
FROM table 
GROUP BY column1 
HAVING COUNT(*) > 1 
+2

あなたの質問を編集してください:(1)サンプルデータ。 (2)所望の結果; (3)現在使用しているクエリ。 (4)使用しているデータベースのタグ。 –

+1

*テーブル*を取得する必要がありますか?テーブルの中に行を入れずにテーブルを取得してもよろしいですか? – sed

+1

あなたの仕事は今まで分かち書きしてください。 –

答えて

0

は、以下のクエリを使用します。idを想定し

+0

ありがとうございます。これは私が必要とする結果を得ています。ビットスペースの問題です。テキスト列のサンプルデータには、TextColumn:AsdaSTORES、AsdaSTORES、Dynamic Motor、Dynamic Motorの値があります。単語の最後にスペースがある場合、行は重複として一致しません。私は列にRTRIMまたはLTRIMを追加する必要があると思う。テキストデータからスペースを削除する場合は、 – Amelia

+0

を提案してください。REPLACE関数を使用してください。更新されたコードを使用してください。 –

+0

Perfect Thanks。 – Amelia

0

は、クエリを次のように使用することができ、主キー

select * 
from myTable t1 
where exists (select 1 
       from myTable t2 
       where t2.text = t1.text and t2.id != t1.id) 
0

です。

with CTE_1 
AS 
(SELECT *,COUNT(1) OVER(PARTITION BY LTRIM(RTRIM(REPLACE(yourDuplicateColumn,' ',''))) Order by -anycolunm-) cnt 
FROM YourTable 
) 
SELECT * 
FROM CTE_1 
WHERE cnt>1 
関連する問題