
以下のようなテーブルからmailが重複していてnameの値が全て同じ値を持つレコードを取得するためのSQL文を教えてください。
mail | name
-----------
aaa | 01
aaa | 01
aaa | 01
bbb | 02
bbb | 02
bbb | 01
ccc | 01
ccc | 01
ccc | 02
select * from test
where mail in
(select mail from test where mail group by mail having count(mail)>1)
上記のSQL文だと以下のデータが取得されてしまいます。
↓
mail | name
-----------
aaa | 01 ○
aaa | 01 ○
aaa | 01 ○
bbb | 02 ×
bbb | 02 ×
ccc | 01 ×
ccc | 01 ×
○印のみ取得したいのですが、
SQL文をどのように修正すればよいのでしょうか。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
RDBMS名とバージョンは?
重複データを何件も持つ意味があるのですか?
例えば、下記SQLでは、2列とも重複するデータを1回だけ表示します。同じデータを件数分表示する必要があるのですか?
【SQL例】
select mail,max(name) as name
from (select mail,name
from test
group by mail,name) as x
group by x.mail
having count(*)=1;
この回答への補足
>RDBMS名とバージョンは?
HSQLDBを使用しております。
>重複データを何件も持つ意味があるのですか?
mail | name
-----------
aaa | 01
このような結果がでるようにしたいと思っています。
また、nameの01は値を指定したいです。
No.3
- 回答日時:
>また、nameの01は値を指定したいです。
どういう意味でしょうか?
検索条件に指定したいという意味ですか?
具体例を説明できますか?
No.2
- 回答日時:
>mailが重複していて
重複していないものは除外ですよね。
select * from test
where mail in
(
SELECT Q2.mail
FROM
(
SELECT T1.mail, T1.name
FROM test AS T1 INNER JOIN
(
SELECT T0.mail
FROM test AS T0
GROUP BY T0.mail
HAVING count(*) > 1
) AS Q1
ON T1.mail = Q1.mail
GROUP BY T1.mail, T1.name
) AS Q2
GROUP BY Q2.mail
HAVING count(*) = 1
);
長いですが、これで求まりました。(Access2000で確認)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP SQL 問合せについて
-
差し込み後、元データを変更し...
-
エクセルの関数について教えて...
-
列番号による項目の取得について
-
noの後の語
-
UWSCでMOUSEORG関数が上手く処...
-
SQLで特定の項目の重複のみを排...
-
フィルターかけた後、重複を除...
-
誰か教えてください
-
SQL Left Join で重複を排除す...
-
マイクラPC版のコマンドで効率...
-
イェイイェイイェイ イェイイェ...
-
for whichの使い方
-
次の並び替え問題を教えてくだ...
-
updateを1行ずつ実行したい。
-
selectで拾ってきたデータをも...
-
datetime型でNULL値を入れたい。
-
埼玉県の中央部の方!!
-
英文法 どんなに大人しそうに見...
-
SQL Date型の列から年月だけを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ビュー情報(user_views)の参...
-
OR と IN の違い
-
階層問い合わせで重複レコード...
-
DBから新しいものを30個取得...
-
抽出したデータの結合
-
コンパイルエラーが出ます。助...
-
sqlのテーブル名省略について
-
PHP SQL 問合せについて
-
検索対象のデータが「複数レコ...
-
SQL文について
-
最新から100行のSELECT文
-
sql文のwhere句について
-
Oracleのエラースタックトレー...
-
SQLの書き方について教えてくだ...
-
PL/SQL デバック方法:入力を受...
-
重複レコードの抽出について
-
SQL集計について
-
大文字/小文字の区別しないで検...
-
重複レコードのある項目を比較...
-
テストデータを作成したい
おすすめ情報