人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLを利用しています。(初心者です。)

以下のデータですが、(CSV形式)
No,DATA1,DATA2
1,AAA,111
2,AAA,111
3,AAA,222
4,AAA,222
5,AAA,333
6,BBB,111
7,BBB,222
8,BBB,333
9,CCC,111
10,CCC,222

このようなデータがあるとして、まず、DATA1のAAAを抽出。さらにその中から、何種類のDATA2が入っているかを抽出します。
この場合は3種類(111,222,333)です。

これを実行したい場合はどうすればいいでしょうか?

また、AAAの中には3種類が含まれていますが、「3」という数字を拾いたい場合はどうすればいいでしょうか?

つまり、抽出したなかからさらに抽出と、2段階で抽出したい場合はどうすればいいでしょうか?

どなたか教えて下さい。

使用言語はPerlを利用しています。

●質問者: zachouR
●カテゴリ:インターネット ウェブ制作
✍キーワード:333 AAA CCC Perl いるか
○ 状態 :終了
└ 回答数 : 1/2件

▽最新の回答へ

1 ● Mook
●60ポイント

クエリ文のみになりますが、

SELECT DISTINCT DATA2 FROM my_table WHERE DATA1='AAA';

とDISTINCT 句を使用すれば、DATA1 が AAA の DATA2が重複なく表示されます。

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_12.htm


これをテンポラリーテーブルとしてカウントを使用すれば、3が得られます。

SELECT COUNT(*) FROM (SELECT DISTINCT DATA2 FROM my_table WHERE DATA1='AAA' ) AS tmp;

http://dev.mysql.com/doc/refman/4.1/ja/unnamed-views.html

◎質問者からの返答

うまく行きました!

ありがとうございます。これを利用すれば、すごく幅が広がりそうです!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ