İyi günler arkadaşlar önceki yazdığım sordu sistemde yavaş çalışmaya başladığı için sorgu değişimine gittim ve group by ile hallederim dedim ama mysql group ta ms sql gibi çalışmıyormuş örne olarak
tablom
isim adeger bdeger veli 3 3 veli 2 2 veli 1 1 ayşe 3 2 ayşe 2 1 ahmet 3 2 ahmet 2 1 mehmet 3 3
şimdi select isim ,min(adeger) , bdeger from tablom group by isim dediğimde
isim adeger bdeger veli 1 3 ayşe 2 2 ahmet 2 2 mehmet 3 3
dönüyor yani b degerim a degerimin min degerine karşılık gelen değilde sıradaki veri neyse o dönüyor sizce nasıl yapmak gerekir?..
select isim ,min(adeger) , bdeger from tablom group by isim , bdeger
şeklinde denediniz mi?
evet denedim bu sefer tablonun tamamı geliyor çünkü bdegeri de grupluyor :(
bu kullanım güzel değil ama işimi çözecek
select isim ,min(adeger) , GROUP_CONCAT(bdeger ORDER BY adeger) from tablom group by isim G
sonuç
isim adeger bdeger veli 1 1,2,3 ayşe 2 1,2 ahmet 2 1,2 mehmet 3 3
virgülden önceki ilk karakteride aldığımda işlem tamam olacak daha iyi yöntemlere açığım kodu değiştirmemdeki amacım hız zaten bu sorgu localde 6 sn sürüyor (gerçek verileri ve joinli tablolarımla) önceki sorgum 21 dakika id :P baya ilerledim yani :D local makine 1200 mhz bu arada :D
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme