人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

$rs = mysql_query("select count(*) from User", $con);
$count = mysql_fetch_row($rs);

echo $count[0] . '件';

上記で表示できるのですが

今日増えた会員数
昨日増えた会員数

を新たに表示するにはどうすればよいでしょうか?
入会日はフィールドJoinedに記録されています。

またキャリア別総会員数も表示したいです。
ユーザのキャリアはフィールドCarrierに記録されています。

1=pc
2=docomo
3=softbank
4=au

以上3つの条件抽出したレコード数を表示したいです。
ご教授いただけると幸いです。
よろしくお願い致します。


●質問者: xptree
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:au DoCoMo echo MySQL pc
○ 状態 :キャンセル
└ 回答数 : 3/3件

▽最新の回答へ

1 ● moom0906

次のようなSQLでどうでしょう

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_16.htm

○ キャリア別

SELECT Carrier, count(*)

FROM User

GROUP BY Carrier


○ 特定の日のみ

SELECT count(*) FROM `User`

WHERE date_format(Joined, '%y.%m.%d') = 'XXXX.XX.XX'

'XXXX.XX.XX'の部分を対象の日付に。

ちなみにMySQLは0保管される(3月⇒03)なので注意


○ 特定の日のみ かつ キャリア別

SELECT Carrier, count(*) FROM `User`

WHERE date_format(Joined, '%y.%m.%d') = 'XXXX.XX.XX'

GROUP BY Carrier


'XXXX.XX.XX'の部分を対象の日付に。

ちなみにMySQLは0保管される(3月⇒03)なので注意


---- 以下は参考程度 ----

○ユーザ数が多い場合上記のSQLは性能問題になるので、WHERE句の部分を変更する。

いままでの例はプログラム部分が少なめの例です。インデックスが効かず遅くなります。

(Joinedにインデックスが設定されていることが前提です)

SELECT Carrier, count(*) FROM `User`

WHERE Joined >= 'XXXX.XX.XX' AND Joined < 'XXXX.XX.XX'

GROUP BY Carrier

最初の'XXXX.XX.XX'に対象の日、後半の'XXXX.XX.XX'にはその翌日

二つ作る必要がある

◎質問者からの返答

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

キャリア別は1件で

特定の日のみは0件になってしまいます


2 ● しろっくす

仮にJoinedの値がdatetimeだと仮定しますと、

今日増えた会員数

は、

select count(*) from User whrere Joined like '2009-01-01%'; 

昨日増えた会員数

は、

select count(*) from User whrere Joined like '2008-12-31%'; 

など、になります。

しかしながら、

Joinedの型を明示されてないので、答えるのが難しいです。

Joinedの型を明示されて、もう一度質問しなおすのがよろしいかと思います。

その場合はポイントは結構です。

がんばってください。

因みに下記の本は超おススメです。

僕もこれから勉強しました。

http://www.amazon.co.jp/MySQL%E5%85%A5%E9%96%80%E4%BB%A5%E5%89%8...

◎質問者からの返答

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

型はdatetimeです。

表示されないのですが…

$rs = mysql_query("select count(*) from User whrere Joined like '2009-01-01%'");

でいいのでしょうか?


3 ● しろっくす

すみません。

最後のキャリアの部分を見落としてました。

select count(*) from Carrier='pc';

で大丈夫と思います。

http://google.co.jp/

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ