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

PHP+MySQLで自前のアクセスランキングを作成しています。レンタルサーバを変えた結果、PostgreSQLからMySQLに変更になったのですが、出来ないことが多くて戸惑っています。Tableにidとアクセス日時があるとして、一定期間内での各idごとのアクセス数を多い順にソートして出そうと思うのですが、viewが使えず副問い合わせもできません。このような場合どうやって対応すればよいのでしょうか?
PHP version 4.3.9
MySQL version 4.0.22-standard

●質問者: ganessa
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:MySQL PHP postgreSQL view アクセス
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● marudarts
●20ポイント

http://www.yahoo.co.jp/

Yahoo! JAPAN

普通にselect文でできませんか?

スキーマ書いてくれたら、SQL書きます。

Postgreと比べ物にならない高速性と

驚くべき高負荷耐性とメンテナンス性が

気に入ってまして、MySQLをよく使ってます。

大規模システムの開発をMySQLでしたことがありますが

サブクエリーは使えなくても問題ありませんでした。

◎質問者からの返答

なるほど。

MySQLにも大きな利点があるのですね。

米国のホスティングサービスを利用する必要があったのですが、

あちらではほとんどがMySQLのみとなっているようです。

ほとんどの副問い合わせはJOINで対応できると

どこかで聞いたことがあったのですが・・・

こんなTableがあったとして

iddate

012004/11/11 00:00:10

022004/11/12 00:00:10

022004/11/13 00:00:10

012004/11/14 00:00:10

012004/11/15 00:00:10

032004/11/16 00:00:10

2004/11/13 以降とすると

idcound

012

021

031

こんな感じの情報を返して欲しいのです。

実際の表示のさいには名称等を結合して

表示することになると思いますが。


2 ● 浅倉卓司
●30ポイント

http://dev.mysql.com/doc/mysql/ja/SELECT.html

SELECT id, count(*) c

FROM `テーブル名`

WHERE `アクセス日時` BETWEEN [開始] AND [終了]

ORDER BY c DESC

----

とかで良いのでは?

◎質問者からの返答

お教えいただいたものにGROUP BYを付加したところ正常に確認できいた。今まで難しく考え過ぎていたようです。助かりました。ありがとうございます。

関連質問


●質問をもっと探す●



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