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
m (Zastępowanie tekstu - "<source lang="mysql">" na "<pre>")
 
(Nie pokazano 3 wersji utworzonych przez 2 użytkowników)
Linia 3: Linia 3:
'''Tylko na podstawie daty:'''
'''Tylko na podstawie daty:'''


<source lang="mysql">
<pre>
$sql = "SELECT *
$sql = "SELECT *
FROM komentarze
FROM komentarze
WHERE DATA <= DATE_SUB( now( ) , INTERVAL 15
WHERE DATA <= DATE_SUB( now( ) , INTERVAL 15
MINUTE ) ";
MINUTE ) ";
</source>
</pre>
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..
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..


Linia 14: Linia 14:
'''W połęczeniu z innymi dodatkowymi parametrami'''
'''W połęczeniu z innymi dodatkowymi parametrami'''


<source lang="mysql">
<pre>


$sql = "SELECT *
$sql = "SELECT *
Linia 21: Linia 21:
MINUTE )  
MINUTE )  
AND `wlasciciel` ='ala'";
AND `wlasciciel` ='ala'";
</source>
</pre>
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..
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..


Linia 44: Linia 44:
</pre>
</pre>


[[Category:Ubuntu]]
 
 
Codeigniter - Jak skasować rekordy starsze niż xxxx (604800) sekund.
<pre>
$before=time()-604800;
$this->db->where('last_active <=',$before);
$this->db->delete('users');
</pre>
 
[[Category:MySQL]]

Aktualna wersja na dzień 14:30, 18 lut 2018

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

Tylko na podstawie daty:

$sql = "SELECT *
FROM komentarze
WHERE DATA <= DATE_SUB( now( ) , INTERVAL 15
MINUTE ) ";

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


$sql = "SELECT *
FROM komentarze
WHERE DATA <= DATE_SUB( now( ) , INTERVAL 15
MINUTE ) 
AND `wlasciciel` ='ala'";

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');