ページビューをSQLで取得したい!という方向けの記事です
WordPressを利用してブログ運営をしていると
SQLでページビューを取得したいと考えることがあります
実際にSQLを実行してページビューを取得できるか確認
サンプルを用意したので、ご活用ください!
WordPressアクセス数の確認方法
サーバー:ConoHa WING
ブログテーマ:Coccon
確認方法:phpMyAdminにてSQLを実行
※phpMyAdminでSQLを実行する場合コメントアウトが正常に機能しない
そのため、コメントありのSQLとコメントなしのSQLを記載しています
ブログ運営ならConoHa WINGがおすすめです
国内最速!初期費用無料なので愛用しています
phpMyAdminへログイン
ConoHa WINGへログイン
1.「サイト管理」クリック
2.「データベース」クリック
3.「対象ユーザ」タブクリック
4.「phpMyAdmin」リンククリック
※ユーザ名、パスワードはphpMyAdminログイン時に必要
SQLを実行して結果を確認
ConoHa WING → phpMyAdminへの操作手順でした
SQL
WordPressPV数の合計
本日のページビュー合計(today_pv)と
記事全体のページビューの合計(total_pv)を取得します
実行結果のイメージ
today_pv | total_pv |
1000 | 10000 |
phpMyAdminコピペ用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
SELECT today_pv ,total_pv FROM ( SELECT SUM( CASE WHEN date = curdate() THEN count ELSE 0 END) AS today_pv ,SUM(count) AS total_pv FROM ( SELECT pos.post_title ,acc.date ,acc.count FROM wp_cocoon_accesses acc INNER JOIN wp_posts pos ON acc.post_id = pos.id ) blog_info ) blog_pv_info ORDER BY total_pv DESC; |
コメントを追記したSQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
SELECT today_pv ,total_pv FROM ( SELECT --本日のブログ記事PV数の合計 SUM( CASE WHEN date = curdate() THEN count ELSE 0 END) AS today_pv --ブログ記事PV数の合計 ,SUM(count) AS total_pv FROM ( SELECT pos.post_title --記事タイトル ,acc.date --PV日 ,acc.count --PV数 FROM wp_cocoon_accesses acc INNER JOIN wp_posts pos ON acc.post_id = pos.id ) blog_info ) blog_pv_info ORDER BY total_pv DESC; |
記事別のPV数の合計
記事別の本日PV数合計(today_pv)、週PV数合計(today_pv)
月PV数合計(month_pv)合計月PV数合計(month_pv)を取得します
実行結果のイメージ
post_id | post_name | post_title | today_pv | week_pv | month_pv | total_pv |
0001 | xxxx-xxxx | 記事タイトル1 | 2 | 1 | 10 | 100 |
0002 | yyyy-yyyy | 記事タイトル2 | 4 | 2 | 20 | 50 |
0003 | zzzz-zzzz | 記事タイトル3 | 6 | 3 | 30 | 10 |
phpMyAdminコピペ用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
SELECT post_id ,post_name ,post_title ,today_pv ,week_pv ,month_pv ,total_pv FROM ( SELECT post_id ,post_name ,post_title ,SUM( CASE WHEN date = curdate() THEN count ELSE 0 END) AS today_pv ,SUM( CASE WHEN date > DATE_SUB(NOW(), INTERVAL 1 WEEK) THEN count ELSE 0 END) AS week_pv ,SUM( CASE WHEN LEFT(REPLACE(date,'-',''),6) = DATE_FORMAT(now(),'%Y%m') THEN count ELSE 0 END) AS month_pv ,SUM(count) AS total_pv FROM ( SELECT acc.post_id ,pos.post_name ,pos.post_title ,acc.date ,acc.count FROM wp_cocoon_accesses acc INNER JOIN wp_posts pos ON acc.post_id = pos.id ) blog_info GROUP BY post_id ,post_name ,post_title ) blog_pv_info ORDER BY total_pv DESC; |
コメントを追記したSQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
--記事別のPV数取得SQL SELECT post_id ,post_name ,post_title ,today_pv ,week_pv ,month_pv ,total_pv FROM ( SELECT post_id ,post_name ,post_title --本日のPV数 ,SUM( CASE WHEN date = curdate() THEN count ELSE 0 END) AS today_pv --週のPV数 ,SUM( CASE WHEN date > DATE_SUB(NOW(), INTERVAL 1 WEEK) THEN count ELSE 0 END) AS week_pv --月のPV数 ,SUM( CASE WHEN LEFT(REPLACE(date,'-',''),6) = DATE_FORMAT(now(),'%Y%m') THEN count ELSE 0 END) AS month_pv --合計のPV数 ,SUM(count) AS total_pv FROM ( SELECT acc.post_id ,pos.post_name ,pos.post_title ,acc.date ,acc.count FROM wp_cocoon_accesses acc INNER JOIN wp_posts pos ON acc.post_id = pos.id ) blog_info GROUP BY post_id ,post_name ,post_title ) blog_pv_info ORDER BY total_pv DESC; |
まとめ:SQLでPVを取得できた
phpMyAdminにてSQLを実行することでPV数を取得することができました
MySQLへの接続と今回のSQLをPHPファイルに実装することで
Web画面からの確認も可能になります
私自身確認画面を作成しており画面にアクセスするだけでPV数を確認可能としています
ブログ運営ならConoHa WINGがおすすめです
WordPress簡単インストール設定もあるので
初心者の方でも、ブログを5分で解説可能です!
コメント