• ベストアンサー

生年月日から年代を検索

いつもお世話になっております。 MySQLで BirthDay int(8) というカラムを持っています。 (2000年1月1日だったら「20000101」で保持) PHPで10代が選択された場合、生年月日から10代のものを取ってきたい と思っているのですが、どのような方法がありますでしょうか? ご教授お願いいたいます。 <環境> PHP:4.3.2 Apache:2.0.40 (Red Hat Linux) MySQL:3.23.56

  • MySQL
  • 回答数2
  • ありがとう数1

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

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

10代とは・・・ 今日が2007/12/28だとすると1986/12/29~1996/12/28生まれということですか? そうなると20年前の明日~10年前の今日までとなりますので 以下のようなものでいかがでしょうか? SELECT * FROM テーブル WHERE `BirthDay` BETWEEN DATE_FORMAT(CURDATE() + INTERVAL 1 DAY -INTERVAL 20 YEAR,"%Y%m%d") AND DATE_FORMAT(CURDATE() -INTERVAL 10 YEAR,"%Y%m%d") ※PHPでという話でしたがとりあえずMySQLでかいときました。

wonder_dct
質問者

お礼

> yambejp さん ご回答ありがとございます。 > 今日が2007/12/28だとすると1986/12/29~1996/12/28生まれということですか? はい。そのように考えております。 提示していただいた、クエリでうまくいきました。 ありがとうございます。

その他の回答 (1)

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

#1です。 今日は2006/12/28でした。 タイプミスです。混乱のないよう念のため。

関連するQ&A

  • 全角大文字、小文字の区別

    いつもお世話になっております。 MySQLで全角の大文字、小文字の区別を行なわず検索を行ないたい と思っております。 半角でしたら、デフォルトで大文字と小文字の区別は行なわない ようなのですが、全角になってしまうと検索されません。 ご教授お願いいたします。 <環境> PHP:4.3.2 Apache:2.0.40 (Red Hat Linux) MySQL:3.23.56 または 3.23.58

  • IPアドレスの変更

    いつもお世話になっております。 現在社内で開発(言語:PHP)をしており、社内での開発が終了したら 顧客のところにサーバーを納品することになっております。 現在のIPアドレスから、顧客先のIPアドレスに変更しなればなりません。 手順としては、どのファイルをどのような手順で行なえばよろしいでしょうか? ご教授お願いいたします。 <環境> Red Hat Enterprise Linux ES v.4 PHP 4.4.2(cli) Apache 2.0.58 MySQL 4.1.20

  • Linux PHPからSQLServerに接続できない

    Linuxにphpをインストールしたのですが別のWindowsServerのSQLServerに接続することができません。 LinuxにインストールしたMySQLのデータは参照できています。 なにかモジュールやドライバーなどが必要なのでしょうか? ちなみに別のWindowsから該当のSQLServerは接続できているのでホスト名、DB名、User名、Passwordは 正しいと思います。 以下は環境とphpインストール時のオプションです。 もし、不足しているものがあれば教えてください。よろしくお願いします。 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-mbregex --enable-trans-sid --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql Red Hat Linux 8.0 Apache 2.0.55 php-5.1.2

    • 締切済み
    • PHP
  • グループウェア Claraのインストール

    Red Hat Linux9が入っているパソコンに、グループウェアのClaraを入れようとしています。 (アドレスですが、Yahooで『グループウェア Clara』 と入力したら出てくるので検索をお願いします。) 質問内容は、インストールのマニュアルがRed Hat Linux7.3を前提に書かれているため、 マニュアルどおりにインストールが進みません。 Linuxは、『10日でおぼえるRed Hat Linux9 サーバ構築・管理入門教室』 という本についていたものを利用しました。 まず必要なRPMパッケージが Apacheは、   apacheとapache-devel PostgreSQLは、 Postgresql-libsとpostgresqlとpostgresql-server PHPは、     phpとphp-pgsql と書かれていました PostgresSQLとPHPは # rpm -qa | grep [postgresql 又は php] で確認は取れたのですが、 apacheに関しては # rpm -qa | grep apache を打っても出てきませんでした。 このパッケージもどこからDLするのかが分からないので、教えてください。 2点目に、インストールマニュアルに、PostgresSQLをインストールすると、 "postgres"というユーザができていると書かれています。 先ほどの、# rpm -qa | grep postgresql でいくつか 表示が出たので、インストールされていると思っているのですが、 # su - postgres を打ってもユーザがないといわれます。 これは、インストールができていないのでしょうか? できていないのであれば、インストール方法を教えてください。

  • Google maps API + PHP

    いつもお世話になっております。 フォームから入力された住所から地図を表示するようなことを やりたいと考えております。 ですが、Google ではそのようなサービスは行なっていないということなので 住所と座標の対応付け「ジオコーディング」と使ってやろうと思っております。 いろいろ調べたのですが、詳しいサンプルを探し出すことができませんでした。 どなたかご教授をお願いいたします。 よろしくお願いいたします。 <環境> PHP:4.3.2 Apache:2.0.40 (Red Hat Linux)

    • 締切済み
    • PHP
  • mySQLで年齢で検索して一覧表示したい

    MySQLで年齢検索して該当する人を一覧表示したいのですが、どのようにしたらいいでしょうか? テーブルには生年月日(birthday)を持っていて年齢に相当するカラムはありません。 管理画面で年齢をセレクトボックスで指定して検索ボタンを押すと該当の年齢の人が一覧表示させたいです。下記のように書いたのですが、ageがありません。というメッセージでダメです。 どのようにしたらいいでしょうか? 教えてください。PHPとMYSQLです。 SELECT ( YEAR( CURDATE( ) ) - YEAR( birthday ) ) - ( RIGHT( CURDATE( ) , 5 ) < RIGHT( birthday, 5 ) ) AS age FROM member where age=36

    • ベストアンサー
    • MySQL
  • Apacheのバージョンアップについて

    XOOPSの前準備で苦戦をしているのですが、 Red Hat Linux5の環境に元々、Apache2.2.3が入っておりました。 それを2.2.6にソースからインストールしました。 phpの動作確認で、info.phpを使用して確認をしたのですが、 httpd.confの中身で、DocumentRootが/usr/local/apache2/htdocs になっているのにも関わらず、/var/www/htmlのほうを 見にいってしまっております。 2.0系同士アップデートの際、特別な方法があるのでしょうか?? mysqlが正常に動作してるのを確認する方法を知っていらっしゃる方が おりましたら、アドバイスをください。 すいませんが、よろしくお願いします。

  • Red Hat Linux 9.0 でWebを公開したのですが・・・Pert.3

     たびたび問題が起きました(;^_^A アセアセ… CGIが動かないのに加え、httpも動きません・・・ (Access forbidden!との表示) トップは動くのですが、その中にあるユーザディレクトリが見れません。 どなたかお力をお貸し下さい。 前質問 Pert.1 Red Hat Linux 9.0 でWebを公開したのですが・・・ http://oshiete1.goo.ne.jp/kotaeru.php3?q=614762 Pert.2-1(ミス Red Hat Linux 9.0 でWebを公開したのですが・・・Pert.2 http://oshiete1.goo.ne.jp/kotaeru.php3?q=617045 Pert.2-2 Red Hat Linux 9.0 でWebを公開したのですが・・・Pert.2 http://oshiete1.goo.ne.jp/kotaeru.php3?q=617184 参考にしたHP http://www.apache.jp/docs/howto/cgi.html#scriptalias http://acorn.zive.net/~oyaji/www/apache_linux.htm http://oshiete1.goo.ne.jp/kotaeru.php3?q=602630 ↑ちなみに試してみましたが、500エラーの内容が変わっただけでした。 perlのアップデートをしても、変わりません・・・。

  • ランキング

    いつもお世話になっております。 MySQLでランキングの付け方を教えていただきたいと思います。 以下のようなテーブルがあります。 ItemCd | Count 1001 | 1 1003 | 2 1005 | 1 1007 | 3 1009 | 4 1010 | 4 下記のような「Rank」というカラムを作成して ランキング順位で取得したいと思います。 ItemCd | Count | Rank 1009 | 4 | 1 1010 | 4 | 1 1007 | 3 | 2 1003 | 2 | 3 1001 | 1 | 4 1005 | 1 | 4 以下のSQLを発行してもエラーになってしまいました。 select r.*, count(*)+1 As Rank from tableA r left outer join tableB n on (r.Count < n.Count) order by count(*) よろしくお願いいたします。 <環境> PHP:4.3.2 Apache:2.0.40 (Red Hat Linux) MySQL:3.23.58

    • ベストアンサー
    • MySQL
  • Windows→Linuxへの乗せ変え

    Windows2003+Mysql4.1+Php4+Apache2の環境を Linux+Mysql4.1+Php4+Apache2へ乗せ変えしようと思っています。 とりあえず、DBは、Windows2003に残し、 Linux+Php+Apacheを構築し、システムを動かしてみたのですが、 PHPに書かれている日本語は、正常に表示されるのですが、 DBから読み込んだ値のみが、文字化けを起こしてしまいます。 日本語には、EUC-JPをつかっています。 何が原因でこうなるのでしょうか? ご教授いただければありがたいです。よろしくお願いします。

    • ベストアンサー
    • PHP