mysqlのレコード数取得に関する質問です。


前回の質問はhttp://q.hatena.ne.jp/1237075969です。

会員の情報はUserというテーブルに入っています。

総会員数
$rs = mysql_query("select count(*) from User");
$count = mysql_fetch_row($rs);
echo $count[0] . '件';

今日増えた会員数
$rs2 = mysql_query("select count(*) from User where date(Joined)=current_date");
$count2 = mysql_fetch_row($rs2);
echo $count2[0] . '件';

昨日増えた会員数
$rs3 = mysql_query("select count(*) from User where date(Joined)=current_date-interval 1 day");
$count3 = mysql_fetch_row($rs3);
echo $count3[0] . '件';

上記3つのカウント数のほかに
時間別カウント数を表示したいです。


今日13時台に増えた会員数
昨日13時台に増えた会員数

このようなカウント数を表示するにはどうしたらよいでしょうか?
よろしくお願い致します。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2009/04/03 18:56:10
  • 終了:2009/04/10 00:17:08

回答(1件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332009/04/03 19:46:44

ポイント60pt

SQL文のみを示します。


今日13時台に増えた会員数
select count(*) from User where (date(Joined)=current_date) and (hour(Joined)=13)
昨日13時台に増えた会員数
select count(*) from User where (date(Joined)=current_date - interval 1 day) and (hour(Joined)=13)

参考サイト

id:xptree

回答ありがとうございます。

試してみましたが、両方とも表示されませんでした。

$rs = mysql_query("select count(*) from User where (date(Joined)=current_date) and (hour(Joined)=1");

$count = mysql_fetch_row($rs);

echo $count[0] . '件';

上記は何か間違っていますでしょうか?

2009/04/09 03:25:43
  • id:kn1967
    current_date や current_date-interval 1 day などではなく
    日時をphp側で計算して、MySQLには定数を与えるほうが簡単ですし
    MySQL側で計算させるより負担が軽くなる場合もありますよ。

    今回のような問題も定数として与えるなら自分で対応可能だと思いますしね。
  • id:xptree
    アドバイスありがとうございます。
    参考にさせて頂きます。
  • id:kn1967
    括弧の数が足りないから動いていないだけですよ。
    $rs = mysql_query("select count(*) from User where (date(Joined)=current_date) and (hour(Joined)=1");
      ↓
    $rs = mysql_query("select count(*) from User where (date(Joined)=current_date) and (hour(Joined)=1)");
  • id:pahoo
    回答が締め切られているようなので、コメント欄にて。
    MySQLのバージョンは幾つですか? 4.1 以前なら、下記のようにしてみてください。

    select count(*) from User where (date_format(Joined, '%Y-%m-%d')=current_date) and (hour(Joined)=13)
  • id:xptree
    kn1967さん
    ありがとうございました。
    お陰で無事表示されるようになりました。
  • id:xptree
    pahoo さん
    ありがとうございました。
  • id:kn1967
    >4.1 以前なら、下記のようにしてみてください。

    その心配は無いと思いますよ。
    前回質問のコメント欄を見れば理由は判ります。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません