Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Jak ograniczyć pobierane dane do ostatnich 30 dni ?
Forum PHP.pl > Forum > Przedszkole
phpamator
Hej przedszkolaki,

Moje query działa świetnie ale ostatnimi czasy jakby ilość danych mocno przekroczyła zakres potrzebny do pokazania i chciałem zmodyfikować query aby ograniczyć ich ilość do ostatnigo tygodnia, niestety coś mi nie idzie a próbowałem tak:

  1. SELECT page, count(*) AS cnt, DATE(visited) AS visit FROM `analytics` WHERE DATEDIFF(visited,NOW()) = -7 AND email <> 'pafka@pafka.com"' GROUP BY page,visit ORDER BY visit DESC;

i tak:

  1. SELECT page, count(*) AS cnt, DATE(visited) AS visit FROM `analytics` WHERE visited + INTERVAL 7 DAY <= NOW() AND email <> 'pafka@pafka.com"' GROUP BY page,visit ORDER BY visit DESC;


I nijak nie chce mi pokazać danych z zadanego okresu .... jak powinienem to zrobić ?

Hah, zrobiłem zanim dostałem odpowiedź i działa pięknie
  1.  
  2. SELECT page, count(*) AS cnt, DATE(visited) AS visit FROM `analytics` WHERE visited >= CURDATE() - INTERVAL 14 DAY AND email <> 'pafka@pafka.com' GROUP BY page,visit ORDER BY visit DESC
  3.  


Dzięki anyway smile.gif
nospor
https://dev.mysql.com/doc/refman/5.5/en/dat...-functions.html

Cytat
Here is an example that uses date functions. The following query selects all rows with a date_col value from within the last 30 days:

mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.