Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wpisy z ostatnich 7 dni
Forum PHP.pl > Forum > Bazy danych > MySQL
crooger
Witam,
zupełnie nie wiem jak się za to zabrać. Muszę wybrać z tabeli mniej więcej takiej:
  1. CREATE TABLE uzytkownicy (
  2. id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. wersja INTEGER UNSIGNED NOT NULL ,
  4. imie VARCHAR(50) NOT NULL ,
  5. nazwisko VARCHAR(50) NOT NULL ,
  6. opis TEXT NOT NULL ,
  7. wprowadzono DATETIME NOT NULL ,
  8. zatwierdzono DATETIME NULL ,
  9. PRIMARY KEY(id, wersja)


ilość wprowadzonych zmian w ostatnich 7 dniach. Czyli tak:
Kod
Dzien      | Ile
-----------------
2009-03-10 | 10
2009-03-09 | 6
2009-03-08 | 0
...


Problem będzie na pewno w przypadku gdy w danym dniu nie wprowadzi nie będzie żadnego wpisu.
Z góry dzięki za pomoc
kefirek
  1. SELECT wprowadzono, COUNT(wprowadzono) AS ile FROM uzytkownicy WHERE DATE(wprowadzono) = CURDATE() - INTERVAL 7 DAY
Mephistofeles
Próbowałem u siebie, bo sam myślę nad rozwiązaniem tego smile.gif, i to nie działa.
"#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause"
A poza tym to twoje zapytanie zwróci wyniki tylko wprowadzone 7 dni temu, powinno być chyba >=.

  1. SELECT wprowadzono, count(wprowadzono) FROM uzytkownicy WHERE DATE(wprowadzono) >= CURDATE() - INTERVAL 7 DAY GROUP BY wprowadzono
To natomiast działa smile.gif.
phpion
Cytat(Mephistofeles @ 10.03.2009, 22:43:56 ) *
  1. SELECT wprowadzono, count(wprowadzono) FROM uzytkownicy WHERE DATE(wprowadzono) >= CURDATE() - INTERVAL 7 DAY GROUP BY wprowadzono
To natomiast działa smile.gif.

Chyba powinno być GROUP BY DATE(wprowadzono) bo Twój przykład pogrupuje dane z dokładnością czasową co do sekundy.
Mephistofeles
Hmm, no może, nie zwróciłem uwagi bo dane testowe wprowadzałem z jedną godziną winksmiley.jpg.
crooger
Wszystko ładnie pięknie panowie, problemem jest tutaj to, że jeżeli w danym dniu nie wprowadzono niczego to taki dzień się nie pojawi na liście. W sumie oczywiste, ale czy jest jakieś rozwiązanie tego ?
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.