• ベストアンサー

SQL文を教えてください

A B C --------- 11 22 33 44 55 33 上記のように、同じ値を持つレコードが2件以上あるC列の値を取得するにはどのようなSQL文にすればよいでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

おそらく、今問題にしているのはC列であって、A列、B列は関係ありませんよね?(推測ですが) A列、B列は関係ないと仮定して、C列だけ書きますが、質問者さんが知りたいのは、例えば C -- 33 33 35 40 40 40 50 51 60 のようなデータがあった場合、重複しているデータだけを取得して 33 40 となる結果を得たい、ということでしょうか? (読み方によっては、そういうふうにも読めたので。) もし、そういうことであれば、 SELECT DISTINCT T1.C FROM T1 WHERE ( T1.C IN (SELECT C FROM T1 GROUP BY C HAVING COUNT(*)>1 )) で得られます。 このSQLだと、ほとんどのDBで実行できると思うのですが、念のため、DBは何なのか( Oracle、SQL-Server、Access など)と、そのバージョンも書いておいた方がいいと思いますよ。

wo-007
質問者

お礼

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

その他の回答 (1)

  • Tibian
  • ベストアンサー率15% (30/188)
回答No.1

SELECT テーブル名.C FROM テーブル でいいと思います。 逆に複数あるのだけれど一つだけ表示でいいというのなら DISTINCTをSELECTの後ろにつけてあげてください。

wo-007
質問者

お礼

参考になりました。