- ベストアンサー
SQL文を教えてください
A B C --------- 11 22 33 44 55 33 上記のように、同じ値を持つレコードが2件以上あるC列の値を取得するにはどのようなSQL文にすればよいでしょうか。 よろしくお願いします。
- みんなの回答 (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 など)と、そのバージョンも書いておいた方がいいと思いますよ。
その他の回答 (1)
- Tibian
- ベストアンサー率15% (30/188)
回答No.1
SELECT テーブル名.C FROM テーブル でいいと思います。 逆に複数あるのだけれど一つだけ表示でいいというのなら DISTINCTをSELECTの後ろにつけてあげてください。
質問者
お礼
参考になりました。
お礼
大変ありがとうございました。