Jak w mysql wyświetlić rekordy starsze niż x: Różnice pomiędzy wersjami

Z Podręcznik Administratora by OPZ SGU
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 42: Linia 42:
MONTH miesiące
MONTH miesiące
YEAR lata
YEAR lata
</pre>
Codeigniter - Jak skasować rekordy starsze niż xxxx (604800) sekund.
<pre>
$before=time()-604800;
$this->db->where('last_active <=',$before);
$this->db->delete('users');
</pre>
</pre>


[[Category:MySQL]]
[[Category:MySQL]]

Wersja z 04:14, 21 lut 2013

Wyświetlanie rekordów w oparciu o timestamp rekordu (kolumna date).

Tylko na podstawie daty:

<source lang="mysql"> $sql = "SELECT * FROM komentarze WHERE DATA <= DATE_SUB( now( ) , INTERVAL 15 MINUTE ) "; </source> Wyświetli wszystkie rekordy z tabeli komentarze według których w oparciu o timestamp (kolumna DATE) upłynęło 15 lub więcej minut..


W połęczeniu z innymi dodatkowymi parametrami

<source lang="mysql">

$sql = "SELECT * FROM komentarze WHERE DATA <= DATE_SUB( now( ) , INTERVAL 15 MINUTE ) AND `wlasciciel` ='ala'"; </source> Wyświetli wszystkie rekordy z tabeli komentarze według których w oparciu o timestamp (kolumna DATE) upłynęło 15 lub więcej minut ORAZ kolumna właściciel będzie zawierać rekord z treścią ala..


Edytując znak <= na >= uzyskamy rekordy którym nie minęła określona ilość czasów.

(przydatne w trakcie budowy w serwisie pola pt "W ciągu ostatnich 24 godzin".


Popularne gotowe typy przeliczników, jakimi możemy operować na Interval:

MICROSECOND 	milisekundy
SECOND 	sekundy
MINUTE 	minuty
HOUR 		godziny
DAY 		dni
WEEK 		tygodnie
MONTH 		miesiące
YEAR 		lata


Codeigniter - Jak skasować rekordy starsze niż xxxx (604800) sekund.

$before=time()-604800; 
$this->db->where('last_active <=',$before);
$this->db->delete('users');