【コピペで使える】MySQLで1分毎にデータを集計する方法(アクセスログ等)
今回は備忘録としてMySQLで1分毎のアクセス数を集計するためのSQL文を記載します。
想定しているシステムはアクセスログで集計時に1分毎のアクセス数を出力したいといった場合です。
このときWebアプリケーション(PHP)側でこの処理を行うとかなり動作が重くなってしまいますが、この処理をSQL側で担当できれば処理は飛躍的に軽くなります。
検索対象のテーブル構成(pageviews)
- ・id
- ・ipaddress
- ・created
SQL文
SELECT from_unixtime(round(unix_timestamp(created) div (1 * 60)) * (1 * 60)) as timekey, count(ipaddress) FROM pageviews GROUP BY timekey;
これだけの記述で目的の集計結果が得られるのは嬉しいですね。
同一IPアドレスは1とカウントしたいといった場合には、GROUP BYにipaddressを含めるなどして対応もできそうです。
投稿者プロフィール
- 代表者
-
東海大学工学部を卒業後、東芝情報システム株式会社(旧グループ会社含む)に入社。半導体(SRAM)の開発チームにて、Unix環境でのPerlを用いた業務自動化プログラムの開発など、エンジニアとしての確かな基礎と緻密な論理的思考力を培う。
その後、東証上場企業である株式会社ザッパラスへ。Web・モバイルの最前線で、数多くのユーザーに愛されるコンテンツ制作業務に従事。ここで「ユーザー目線に立った魅力的なWebコンテンツの企画・制作ノウハウ」を深く学ぶ。
開発・システム側から見た「堅牢なロジック」と、制作・ユーザー側から見た「伝わるコンテンツ」の双方を実務で経験した強みを活かし、フリーランスとして独立。
現在は、ウイングアーク1st株式会社の「データのじかん」運営チームに参画するなど、大手・中小企業のWeb運営・開発パートナーとして活動。完全在宅でありながら、固定IPの完備や厳格なセキュリティポリシーの遵守を徹底し、企業のインフラや本番環境を安全に支える「チームの一員」として高い信頼を得ています。
見た目の美しさはもちろんのこと、内部の構造やWordPressのカスタマイズ、運用・セキュリティまでを見据えた、技術的バックボーンのある高品質なWebサイト・システム制作をワンストップでご提供しています。

