Şimdi Ara

Mysql Uzmanalık sorusu Group By lı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
768
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • İ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
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.