• 締切済み

GROUP BY句の使用方法について(初歩的)

GROUP BY句の使用方法について質問させて下さい。 ■使用するテーブル  ID   日付 ----------------------  AAA   2007-04-01  AAA   2007-04-01  AAA   2007-04-02  AAA   2007-04-03  BBB   2007-04-01  BBB   2007-04-03  CCC   2007-04-02  CCC   2007-04-02  CCC   2007-04-02 ■抽出したいこと  ID毎のカウントを取りたいのですが、その際に同じ日付は1回のカウントとして抽出したいのです。  即ち、下記の結果を得るのが目的ですが、どのようなクエリとすればいいでしょうか?  ID  cnout(*) ----------------------  AAA   3  BBB   2  CCC   1 初歩的な質問なのですが、宜しくお願い致します。 (※環境はSQL-Server2000です)

みんなの回答

  • sky-star
  • ベストアンサー率0% (0/6)
回答No.3

SELECT ID, COUNT(ID) FROM テーブル GROUP BY 日付 日本語は下手ですから 特に説明がなかった

o00o_orange_o00o
質問者

お礼

お礼が遅れて申し訳ありません。 回答は大変参考とさせて頂きました。 どうもありがとうございます。

すると、全ての回答が全文表示されます。
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.2

SELECT ID, COUNT(DISTINCT 日付) FROM テーブル GROUP BY ID でいいと思いますけど。

o00o_orange_o00o
質問者

お礼

回答ありがとうございます! DISTINCTをそこに付けていいんですね!!! さっそく試してみます!!!

すると、全ての回答が全文表示されます。
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

お早うございます。 こんな感じでしょうか。 SELECT T1.ID, COUNT(T1.日付) FROM (  SELECT DISTINCT ID, 日付  FROM テーブル ) T1 GROUP BY T1.ID

o00o_orange_o00o
質問者

お礼

回答ありがとうございます。 やはりこのようなやり方となりますか。 例は簡単なものでしたが、実際には結構複雑なクエリとなってしまいなるべくスマートな方法をと思ったのですが。 試してみみます!

すると、全ての回答が全文表示されます。

関連するQ&A