Mysql Sorgu: Satirdan, ayni satira sahib olanlarin sayini bulma
Merhabalar.
Ilk once urunleri sakladigim products
adinda bir table im var.
Burada brand
adinda satir var ve urunun ait oldugu brand id - si sakli.
Bana lazim olan su:
Bir sorguda hangi brand da kac tane urun oldugunu getirsin.
Ornegin: alacagim su olsun sorgu sonunda
{
brand: 11,
products_count: 22
}
{
brand: 12,
products_count: 11
}
Bunu php de tum productlari cekip yapa bilirim ama sorguyla oluyor diye dusunuyorum.
Bu arada Laravel de yazilmis bir sistem ORM Elequent isterseniz onunlada yaza bilirsiniz sorguyu.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
SELECT brand, COUNT(*) as products_count FROM `products` GROUP BY brand;
Genelde sum, avg, count gibi fonksiyonlarla birlikte kullanılır. Belirli kolon ya da kolanları gruplayabilirsiniz.
Siz burda aslında markaya göre gruplamak istiyorsunuz mantıken o yüzden en basit yol buydu.
Çalışma mantığında ise brand üzerinden gruplandırma yaptığımız için id si 1 olan branleri toplayabilir, saydırabilir, ortalamasını alabiliriz. Yani brandi tek satırda verebileceğimiz her türlü sonuç çalışacaktır.
Çalışma yapısını derin şekilde irdeleyecek bir bilgim yok açıkcası.