Witam,
potrzebuję sprawdzić, czy istnieje już w bazie jakiś rekord z obecnego miesiąca. Jeśli takiego nie ma - niech pobiera z miesiąca poprzedniego (to samo w przypadku, gdy nie ma w miesiącu poprzednim, to niech pobiera z (obecnyMiesiac-2) itd.
Czy jest możliwość zrobienia tego w 1 zapytaniu, aby nie było konieczności tworzyć kilku? Tj. Sprawdzenie, czy w obecnym obecnym miesiącu są (teraz - marzec), jeśli nie ma, to wykonać zapytanie pobierające z poprzedniego miesiąca (luty). Z kolejnej strony - jeśli ostatni rekord był w grudniu poprzedniego roku, to tych zapytań już kilka by się utworzyło.
SELECT *
FROM `annon` as a
LEFT JOIN `users` as u ON a.id = u.id
WHERE a.year = '" . $currentYear . "' AND a.category = '" . $currentMonth . "'
GROUP BY a.category, u.name
ORDER BY u.id DESC
LIMIT 5
Analogicznie - $currentYear
- obecny rok, zaś $currentMonth
- obecny miesiąc.
Reasumując: jest możliwość, aby dojść do ostatniego miesiąca, w którym są rekordy możliwie najmniejszą ilością zapytań, a najlepiej 1?
Ciężko było mi dobrać kategorię - PHP, czy bazy danych. Jeśli podjąłem zły wybór - prosiłbym o przeniesienie.
Pozdrawiam