Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изберете уникални посетители за интервал от време?

Ще трябва да обобщите данните си. Опитайте тази заявка:

SELECT DATE(data_timestamp), COUNT(visitor_id)
FROM analytics_table
WHERE DATE(data_timestamp) BETWEEN '2011-05-01' AND '2011-05-31'
GROUP BY 1

Ето как попълвате месечните си данни (ПРЕДУПРЕЖДЕНИЕ:НЕТЕствано! ):

<?php
$sql = "SELECT DATE(data_timestamp), COUNT(visitor_id)
FROM analytics_table
WHERE DATE(data_timestamp) BETWEEN '2011-05-01' AND '2011-05-31'
GROUP BY 1";

$rs = mysql_query($rs);
$date1 = $datex = '2011-05-01';
$date2 = '2011-05-31';

$arrayData = $tmpArray = array();

while( $r = mysql_fetch_array($rs) )
{
   $tmpArray[$r['date']] = $r['count'];
}

while( $datex <= $date2)
{
   if( isset($tmpArray[$datex]) )
   {
      $arrayData[$datex] = $tmpArray[$datex];
   }
   else
   {
      $arrayData[$datex] = 0;
   }
   list( $y, $m, $d) = explode('-', $datex);
   $datex = date('Y-m-d', mktime(0, 0, 0, $m, $d, $y));
}


?>

тази заявка използва:

  • DATE(), за да получите датата от вашите данни и
  • COUNT() за преброяване на общите данни от тази конкретна дата.
  • и GROUP BY, за да групирате данните си въз основа на избраното от вас поле.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. #1136 - Броят на колоните не съвпада с броя на стойностите на ред 1

  2. Сортиране на SQL по първите два знака от полетата

  3. Използвайте заявка в стил SQL в Excel с помощта на VBA

  4. използвайки LIKE %% с LEFT JOIN

  5. mysql Неуспешно четене на стойността за автоматично увеличение от машината за съхранение