Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciągnięcie ilości rekordów starszych niż 10 minut.
Forum PHP.pl > Forum > Bazy danych > MySQL
ahold
Uszanowanie,

Mam w bazie danych zapisane rekordy.
Chciał bym wykonać select ilości tych rekordów które spełnią pewien warunek "autor=xxx" oraz drugi bardziej skomplikowany a mianowicie data z przedziału 10 minut temu.

Czyli seria, ile w ciągu 10 minut, było wpisów użytkownika xxx.

Zawsze robiłem to w PHP, wysyłając SELECT LIMIT 5. Patrzyłem na ostatni rekord. Porównywałęm datę. Jak była starsza, to interpretowałęm te informację.

Teraz chciał bym odnieść się bezpośrednio do serwera SQL.

  1. SELECT * FROM `responses` WHERE `data`>now()-600


Można by tutaj dodać patamert AS ilosc_wyników abym zczytał to za jednym pociągnięciem ?
Myślałem o czymś takim. Czy to jest dobra metoda ?
thomas2411
A działa Ci Twoje zapytanie?
ahold
Przez chwile działa, a potem przestaje, po mimo że od upłynięcia wiadomości nie minęło 10 minut a on nie pokazuje już rekordów :/

Sprawdzałęm godzinę na serwerze, godzinę w SQL.
Było ok 7 minut - a on przestał wyświetlać rekordy.
erix
Hmm, a nie timestamp?

  1. SELECT * FROM `responses` WHERE `data`>unix_timestamp(now())-600
thomas2411
  1. SELECT COUNT(*) FROM tablica WHERE twojczas>= DATE_SUB(CurrentTime(),INTERVAL 10 MINUTE)
ahold
Dziękuję Thomas.

Dokładnie o to mi chodziło.

Moj serwer MySQL zaakceptował dopiero taką formułę generowania czasu "now()".

Kod który działa.

  1. SELECT COUNT( * )
  2. FROM response WHERE DATA >= DATE_SUB( now( ) , INTERVAL 10
  3. MINUTE )


Wielkie dzięki, to jest dokładnie to.
Widzisz, i nie musieliśmy mieszać w to PHP.

pozdrawiam
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-2024 Invision Power Services, Inc.