3

私は次のようなmysqlテーブルを持っています

   **ip                  page                date                 page_Views
127.0.0.1              index.php           2012-07-09              25
182.445.11.1           abc.php             2012-07-09              11
116.142.24.7           index.php           2012-07-09              3 

ページごとにグループ化されたpage_views列を抽出したい

つまり、「index.php」の場合、page_view=28と表示されます。

私はこのクエリを使用しています

SELECT * FROM stats_trackerGROUP page BYORDERBY stats_trackerpage_viewsDESC

このクエリを使用して、ページごとにpage_viewsをグループ化していますが、追加はしていません

上記のクエリによると、index.php=25のpage_views

4

1 に答える 1

9

SUM集計関数が必要です。

SELECT
  ip,
  page,
  CONCAT(MIN(date), " - ", MAX(date)) as date_range,
  SUM(page_views) as total_page_views
FROM stats_tracker
GROUP BY page
ORDER BY total_page_views DESC

基本的な理由は、MySQLは、グループ化するときに値をどのように組み合わせるかを知らないということです。カウントしたい場合もあれば、合計したい場合もあり、平均化も可能です。MySQLAggregateFunctionsページを確認してください。

于 2012-07-10T19:44:39.153 に答える