こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

データペースにどんな種類のデータがあるか抽出

過去の質問を見たんですが、見つからなかったで質問させてください。

以下のように2列(id,sort)のデータが入っていたとします。
id sort
1 時計
2 靴
3 猫
4 犬
5 靴
6 時計
・・・・

で、このデータベースから以下のようなデータが抽出したいです。

1.sort にどんな種類のデータがあるか? 上記の例だと、「時計、靴、猫、犬」
2.その各種類が何個ずつ収納されているのか? 上記の例だと「時計2、靴2、猫1、犬1」

1行ずつデータを拾ってきて、どんなデータがあるかを調べる事は可能なのですが、
例では6行のデータですが、実際に動かしているシステムは20万行近くあります。

何か良い方法はありませんでしょうか?
よろしくお願いします。

投稿日時 - 2013-05-27 17:47:12

QNo.8107530

困ってます

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

select sort, count(*) as num from テーブル group by sort;

投稿日時 - 2013-05-27 17:59:22

お礼

早速の回答ありがとうございます!
これです!!できました。凄いです!!

投稿日時 - 2013-05-27 19:00:09

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

SQL全然無知で回答しますがお許しください。



[1]

SELECT DISTINCTで解決。
http://www.syboos.jp/database/doc/20080216155839652.html

EXISTSを使ったほうが高速(?)
http://d.hatena.ne.jp/annin102/20060908/1157734624


[2]

すでにOKWaveに質問がありました。

http://okwave.jp/qa/q5089253.html

投稿日時 - 2013-05-27 18:42:58

お礼

早速の回答ありがとうございます!
過去にあったんですね・・・探しきれませんでした。ありがとうございます。
違う方法の紹介もありがとうございます。

みなさんにベストアンサーを付けたいのですが・・・出来ないのが残念。
折角回答していただいたのですが、1番目をベストアンサーにさせてください。

ありがとうございます。

投稿日時 - 2013-05-27 19:03:37

ANo.2

重複をしないものだけなら

select distinct sort from テーブル

という構文があります

投稿日時 - 2013-05-27 18:09:26

お礼

早速の回答ありがとうございます!
出来ました!!ありがとうございます。
重複しないのはシンプルに出来るんですね!!

投稿日時 - 2013-05-27 19:01:06

あなたにオススメの質問