charlie-cherry
28.08.2009, 16:42:05
Tworzę sobie listę archiwalnych "newsów" na stronie pobieranych z bazy danych. Pomyślałem jednak, że zamiast listy 20 ostatnich rekordów wolałbym listę z 3 ostatnich miesięcy na zasadzie, iż z danego miesiąca pokazywałyby się wszystkie rekordy.
I tu pytanie - czy da się w MySQL pobrać te rekordy mając datę w bazie w formacie "YYYY-MM-DD"? I chodzi mi o 3 ostatnie miesiące, a nie 90 ostatnich dni.
maly_swd
28.08.2009, 17:58:22
SELECT * FROM newsy WHERE POLE_DATY_W_BAZIE>=ADDDATE(now(), INTERVAL -3 MONTH);
*te zapytanie nie bedzie cachowane przez mysql.
Lepiej uzyc takiego:
$zapytanie="SELECT * FROM newsy WHERE POLE_DATY_W_BAZIE>=ADDDATE('{$date}', INTERVAL -3 MONTH)";
kefirek
28.08.2009, 18:06:30
SELECT * FROM tabela WHERE pole_z_data >= DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
charlie-cherry
28.08.2009, 18:40:20
Wielkie dzięki, obydwie odpowiedzi bardzo mi pomogły.