[ Orome @ 15.11.2017. 13:44 ] @
Pozdrav, potreban mi je upit koji vraca zadnji dan svakog meseca iz izabranog perioda. Ulazni parametri su mi pocetni i krajnji datum. To mi treba bez tabele jer kapiram da je brze nego da skeniram moju tabelu u kojoj imam mnogo redova pa izvlacim ovaj podatak. Pisano nekim pseudo kodom ovo mi treba : SELECT LAST_DAY(_date) FROM DUAL WHERE _date BETWEEN start_date AND end_date Ovaj kod radi nad mojom tabelom ali ima jako puno redova i nemam mogućnost da rezultat skratim tako da radi brzo : SELECT LAST_DAY(t1.date) date FROM t1 WHERE t1.datum>=('2017-07-01') AND t1.datum<=('2017-08-31') GROUP BY MONTH(t1.date) Ocekivani rezultat ovog upita su 2 reda jer je pocetni datum u julu a krajnji u avgustu, znaci 2 mjeseca, evo rezultata : 31.07.2017 31.08.2017 Imam osecaj da se ovo mora da moze da se izvuce bez tabela, putem one DUAL tabele ili cega li. Nisam mogao pronaci kako da to izvedem. Ako moze da se ne predlaze optimizacija mog upita koji sada radi jer sam to vec probao i ne uspeva. Hvala unapred. |