Benim elimde bir firmaya ait yıllık veri var. Firmanın günlük verilerini listeleyeceğimiz zaman bir problem yaşamıyorum. Fakat firmanın haftalık/aylık verilerini listelemek için tarihleri bir döngü içinde arttırarak, her adımda SQL sorgusu işleterek, sorgudan gelen veriyi alıp PHP de dizi içine atıyorum. bu dizi içinde istediğim alanları (min, max, avg, vb.) başka bir diziye atarak istediğim sonuçları alıyorum. fakat bu durum tarih aralıkları büyüdüğü zaman sonucun işlenmesi epey bir zaman alıyor. bunun yerine min, max gibi değerleri direk SQL sorgusundan aldığım zaman süreç daha hızlı sonuçlanıyor. fakat bu sefer de sorguda istediğim sadece bir sutunu yanlış alıyor daha doğrusu istediğim yeri alamıyorum. örnek vermem gerekirse;
Kod:
dusuk yuksek kapanis tarih
4.26 4.38 4.30 2008-11-03 17:00:00
4.38 4.54 4.52 2008-11-04 17:00:00
4.12 4.38 4.16 2008-11-05 17:00:00
3.90 4.02 3.98 2008-11-06 17:00:00
3.80 4.00 3.82 2008-11-07 17:00:00
şeklinde 2008-11-03 ve 2008-11-07 tarihleri arasını gösteren bir tablom var. bu tablodan istediğim alanları:
Kod:
SELECT min(dusuk) as dusuk, max(yuksek) as yuksek, kapanis FROM veriler where kod = 'ISCTR' and tarih >= '2008-11-03' and tarih <= '2008-11-08' and tarih like '%17:00:00' group by kod
SQL koduyla sorgulattığım zaman gene istediğim min max değerleri alabiliyorum.
Kod:
dusuk yuksek kapanis
3.80 4.54 4.30
fakat kapanis değeri olarak haftanın son günü olan 07-11 tarihindeki değeri almam gerekiyor. ne yaparsam yapayım hiçbir şekilde son satırdaki değeri alamadım. sadece ilk satırı alıyor diye "order by tarih desc" ile değiştireyim istedim ama bu sefer de sorgudaki "group by kod" ile sorun çıkartıyor. haftalık veri için tablodaki son satırdaki değeri nasıl alabilirim? sizce haftalık veri işlemeyi döngü içine her adımda SQL sorgusu işletmekten daha kolay bir yol var mıdır?