• 27-04-2019, 23:07:02
    #1
    Merhaba,

    Codeigniter ile genel bir raporlama sorgusu oluşturdum. Tek bir sorgu ile pek çok sayısal değeri alıyorum.

    Toplam başarılı ödeme ve adet, Bugünkü başarılı ödeme vs vs.

    $this->db->select('COUNT(CASE When islem_sonucu = 2 Then 1 Else NULL end ) as countPayment');Bu sorgu ile islem_sonucu 2 olan tüm ödemelerin adetini alıyorum mesela.

    Fakat benim yapmak istediğim şey bu şekilde tek bir select sorgusu içerisinde islem_sonucu 2 olan yani en çok başarısız ödeme alan ürünün adını çekmek.

    Yukarıda ki kod yerine

    $this->db->select('COUNT(CASE When islem_sonucu = 2 Then urun_adi Else NULL end ) as countPayment');
    olarak almak istediğimde bana gene sayısal değer döndürüyor. Group by yapmamı istiyor sanırım. Fakat group by yapınca tüm sorgum bozuluyor normal olarak.

    Bunu nasıl çözebilirim? Umarım derdimi anlatabilmişimdir.
  • 28-04-2019, 18:00:33
    #2
    select urun_adi,hatali_islem_total from(urun_adi, count(*) as hatali_islem_total from as from table_name where islem_sonuc=2 group by urun_adi) limit 1 order by hatali_islem_total desc