Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wybrać unikalnych użytkowników w przedziale dat?

Będziesz musiał zagregować swoje dane. Wypróbuj to zapytanie:

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

Oto jak wypełniasz swoje dane miesięczne (OSTRZEŻENIE:NIETESTOWANE! ):

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


?>

to zapytanie użyj:

  • DATE(), aby uzyskać datę z danych i
  • COUNT(), aby zliczyć wszystkie dane od tej konkretnej daty.
  • i GROUP BY, aby pogrupować dane na podstawie wybranego pola.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL JOIN na wielu tabelach nie zwraca żadnych wyników

  2. Jak wyodrębnić podciąg z ciągu w PostgreSQL/MySQL?

  3. Adnotacja Hibernate 4 — błąd konfiguracji MySQL:java.sql.SQLException:nie można dodać ograniczenia klucza obcego

  4. Policz wartości, które istnieją przed i po pewnym okresie czasu

  5. Laravel 4 Migracje wyrzuca błąd 1072