sql >> Databáze >  >> RDS >> Mysql

Jak vybrat unikátní návštěvníky za časový interval?

Budete muset agregovat svá data. Zkuste tento dotaz:

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

Zde je návod, jak vyplnit měsíční údaje (VAROVÁNÍ:NEZKOUŠENO! ):

<?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));
}


?>

tento dotaz použijte:

  • DATE() pro získání data z vašich dat a
  • COUNT() pro sčítání celkových dat od daného data.
  • a GROUP BY pro seskupení dat podle toho, jaké pole vyberete.


  1. Jak zabránit duplicitním uživatelským jménům při registraci lidí?

  2. fullCalendar události odesílání metody do MySQL

  3. Žádná podpora pro OVER v MS SQL Server 2005?

  4. Jak najít duplicitní záznamy pomocí klauzule Seskupit podle a mít v SQL Server - SQL Server / Výukový program TSQL část 132