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

MySQLについての質問です。
ページにアクセスした人のホストを、ひたすらレコードとして突っ込んだ状態で「どのプロバイダからのアクセスが一番多いか」を多い順でリストとして表示したいです。
プログラムを書くのもめんどくさいので、できればSQLコマンドだけでやりたいのですが、方法がわかりません。
REGEXPを使えばできそうな気もしないでもないのですが、どうも自分では無理でした。
何かお手軽な方法があれば教えて下さい。

●質問者: studio15
●カテゴリ:ウェブ制作
✍キーワード:MySQL regexp SQL アクセス コマンド
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● kn1967
●60ポイント

あまり多くても何なので上位50まで

SELECT *
FROM (
 SELECT ホスト,COUNT(ホスト) AS アクセス数
 FROM テーブル
 GROUP BY ホスト
)
ORDER BY アクセス数
LIMIT 0,50;

アクセス回数100以上で上位50位まで

SELECT *
FROM (
 SELECT ホスト,COUNT(ホスト) AS アクセス数
 FROM テーブル
 GROUP BY ホスト
 HAVING COUNT(ホスト) >= 100
)
ORDER BY アクセス数
LIMIT 0,50;

説明のためフィールド名等を日本語にしてありますがアルファベットの利用を推奨します。

最後になりましたが動作テストは行っておりませんので適宜テストしてください。

◎質問者からの返答

これだとアクセスが多いホスト順だけで、プロバイダごとにまとめられていないですね…

bbtec.net 20000

ocn.ne.jp 1000

と言うような感じで欲しいのです。

関連質問


●質問をもっと探す●



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