• ベストアンサー

【PHP5+MySQL5】 count(*)の値のとり方?

度々お世話になります。 AAAテーブルにDATEというカラムを持っていて年月日(yyyy-mm-dd)を格納してます。 1998年  6件 1999年  15件 2000年  4件 のように年毎の件数を抽出したいのですがどのように書けばよろしいでしょうか。 ご存知の方いらっしゃいましたらご教示願います 宜しくお願い致します。

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

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

列「DATE」は、date型でしょうか? 下記のSQLで希望の結果を得られると思います。 select year(`DATE`) as yyyy,count(*) from AAA group by yyyy

Claudia
質問者

補足

ありがとうございます。 ずっと「select count(*),year(`DATE`) ~」で取れなくて四苦八苦してました。。 selectの項目の順番も意味があるんですね。 mysql_fetch_assocで年部分はYYYYで抽出できるのですが、 count部分はどのようにして数値を取得するのでしょうか。 よろしくお願い致します。

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

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>mysql_fetch_assocで年部分はYYYYで抽出できるのですが、 >count部分はどのようにして数値を取得するのでしょうか。 select year(`DATE`) as `yyyy`,count(*) as `count` from `AAA` group by `yyyy` asで別名をつければ拾いやすくなります。 ちなみに >selectの項目の順番も意味があるんですね。 ない・・・と思いますが?

Claudia
質問者

お礼

select の順、確かに関係ないみたいです。。 count(*)にasで別名付けて、ってのも最初やってみて失敗してたんですが、 うまくいきました。 最初は何かケアレスミスがあったのかもです。お手数かけました。 ありがとうございました。

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

関連するQ&A

  • Access2000にてお寺の管理dbを作っています。御法事の回忌を抽

    Access2000にてお寺の管理dbを作っています。御法事の回忌を抽出したくテーブルに没年月日、回忌のフィールドを作りクエリの回忌のフィールドに回忌:IIF(Format([没年月日],"mm/dd")>Format(Date(),"mm/dd"),DateDiff("yyyy",[没年月日],Date())-1,DateDiff("yyyy",[没年月日],Date()))と回答をいただき 回忌:IIF(Format([没年月日],"mm/dd")<Format(Date(),"mm/dd"),DateDiff("yyyy",[没年月日],Date())+1,DateDiff("yyyy",[没年月日],Date())) >を< -1を+1 にしてできたのですが。 Date()ですと今年の御命日が来るまでは50回忌のひとでも49回忌になってしまいます。 御命日が来なくても(御法事の申し込みは命日の数日、数か月前が多いので)今年の回忌を出させるにはどうしたらいいのでしょうか?

  • Access2000にてお寺の管理dbを作っています。御法事の回忌を抽

    Access2000にてお寺の管理dbを作っています。御法事の回忌を抽出したくテーブルに没年月日、回忌のフィールドを作りクエリの回忌のフィールドに回忌:IIF(Format([没年月日],"mm/dd")>Format(Date(),"mm/dd"),DateDiff("yyyy",[没年月日],Date())-1,DateDiff("yyyy",[没年月日],Date()))としたのですがコーテーションエラーになってしまいます。 どのようにしたらいいのでしょうか? 回忌ですから亡くなった翌年が1周忌2年目が3回忌になります。

  • date型へのinsertについて

    cプログラムにてoracleのあるテーブルのdate型カラムに値をinsertしたいのですが、 'YYYY/MM/DD hh:mm:ss'の情報を格納するにはどうすればよいのでしょうか? TO_DATEを使用するのでしょうか?

  • 月日のinsert

    環境:DB MySQL version: 4.0.22 いつもお世話になっております。 あるテーブルに、日付をレコードとして登録させたいです。 テーブルは以下のようなものです。 テーブル名、DATE_TABLE カラム名、年月日(yyyy-mm-dd),年(yyyy),月(mm),日(dd),祝日チェック(祝日なら1、そうでないなら0) insertで日付を登録する際に、例えば、2007年10月なら31日まで、ということは頭ではわかるのですが、そういう処理をクエリでどうにかならないか悩んでいます。 何か方法はございますでしょうか。 教えてください。

    • ベストアンサー
    • MySQL
  • 指定した値の範囲内の列を抽出

    Access2000を使用 前回答えてもらったとおり指定した1つの値からはデータの抽出成功しました。 で今回も同じような内容で、指定した値(月初から今日の日付)までの値を抽出するようなSQL文がわかりません。 以下はwhere以降で、BETWEENを使用しましたが抽出できませんでした。 他の方法はございますか? where (クエリー名.クエリーカラム名) BETWEEN #" & Format(Date - mday + 1, "yyyy/mm/dd") & "# AND #" & Format(Date, "yyyy/mm/dd") & "#" よろしくお願いします。

  • Accessクエリで100年単位で抽出したい

    いつも、お世話になります。 Win7, Access2013 パラメータクエリで行き詰まっています。ご存知の方がいらっしゃいましたら、ご教示お願いします。 年月日のコントロールがあり、yyyy/mm/dd の書式から 1900年代を抽出したいのです。 月だけを抽出したい場合、webの事例で フィールド:Format([年月日],"mm") にして、パラメータクエリで 05 と入力すると 5月のリストが抽出できるようになりました。 パラメータクエリで、この年月日に「1900」又は 「19」と入力すると 1900年代のリストが抽出できるようしたいのです。 ご存知の方がいらっしゃいましたら、ぜひお願いいたします。

  • ACCESSで他テーブルから複数の値を検索したい

    WINDOWS XP MSACCESS2003です。 以下、DDDテーブルの中からAAAテーブルのIDOと一致するものを DDDテーブルの項目種類と同様に全件抽出したいのですが、 どのようにすれば宜しいでしょうか?ご教示願います。 いろいろ検索したのですが、うまくいかなくて困っています。 (1)テーブル名:DDD 項目:SOFU_COD、IDO、TEL レコード件数18万件 (2)テーブル名:AAA 項目:IDO レコード件数47件

  • アクセス2000誕生日から満年齢出し方

    テーブルですが 最後の列が生年月日フォームなっています。 形式はyyyy/mm/ddです 友人に聞いてその回答は DateDiff("yyyy",[生年月日],Date())この式を クエリの生年月日フィールドの右側の空欄のフィールドへ入れるとでてくるよ。の回答で実行したら 式1:DateDiff("yyyy",[生年月日],Date())とでて クエリには 年齢がでてきました。 そこで 質問ですが テーブルに誕生日のフォームに生年月日打ち込むと 横の仮に「年齢」フォームに自動ででてくるようにするには どうしたらよいのでしょうか。 教えてください。

  • VBAのAccessでDATE型のINSERT

    テーブルに今日の日付でインサートしたいのですが、なぜか、まったく違う日付になってしまいます。 わかる方教えてください。 よろしくお願いします。 INSSQL = "INSERT INTO aaa(test)" _ & " Values(" & Format   (Date, "yyyy/mm/dd") & ");"

  • アクセス 数値+日付をyyyy/mm/dd(aaa

    テーブルに 20121201aaa 20121203bbb と言うデータがあるのですが これをクエリで あ2012/12/01(土) あ2012/12/03(月) に変えるにはどうすればいいでしょうか 数値の後ろの文字はいろんなパターンがあるので置換じゃ追いつきません。 SELECT Format(Left([テーブル1]![test],8),"yyyy/mm/dd(aaa)") AS 日 FROM テーブル1; にすると#エラーになってしまいます。 SELECT Format(CDate(Left([テーブル1]![test],8)),"yyyy/mm/dd(aaa)") AS 日 FROM テーブル1; これでもダメでした・・・