Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] 3 ostatnie miesiące z bazy danych
Forum PHP.pl > Forum > Bazy danych > MySQL
charlie-cherry
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
  1. SELECT * FROM newsy WHERE POLE_DATY_W_BAZIE>=ADDDATE(now(), INTERVAL -3 MONTH);


*te zapytanie nie bedzie cachowane przez mysql.

Lepiej uzyc takiego:
  1. $date=date("Y-m-d");
  2. $zapytanie="SELECT * FROM newsy WHERE POLE_DATY_W_BAZIE>=ADDDATE('{$date}', INTERVAL -3 MONTH)";

kefirek
  1. SELECT * FROM tabela WHERE pole_z_data >= DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
charlie-cherry
Wielkie dzięki, obydwie odpowiedzi bardzo mi pomogły.
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.