Yorumlar için teşekkürler.
SELECT count(sebep_id) as sebepAdet
FROM soru_sebep_iliskisi
GROUP BY sebep_id
ORDER BY sebebAdet;
Bu sorgu size sorunların sebeplere göre çoktan aza listesini verir.
Sebep adını da almak için
SELECT sebep, count(sebep_id) as sebepAdet
FROM sebepler, soru_sebep_iliskisi
GROUP BY sebep_id
ORDER BY sebebAdet
WHERE sebepler.id=soru_sebep_iliskisi.sebep_id;
Test ediniz, akıldan test etmeden yazdım, ama mantık bu şekilde.
mantığı anlamaya çalışıyorum
peki iki veya daha fazla alanı sorguya nasıl dahil ederim
yani şöyle bir durumda nasıl bir yol izlemeliyim.
kullanıcıya 5 soru sorduk diyelim.
1 e ---- ( sağlık & beden )
2 e ---- (
okul | ev aile )
3 h ---- ( ilişkisiz , işlem yok )
11 e ---- (
okul | kişilik )
13 e ---- (
okul | toplumsal | kişilik )
bu örnekte görüldüğü üzere
okul 3 sorunun sebepleri arasında ve en çok geçtiği için 1. sırada , 2. sırada ise kişilik geliyor.
yani elimde var olan kullanıcı cevaplarını toplu bir şekilde sorguya dahil edebilir miyim.
Yapmaya çalıştığım şuna benziyor aslında.
matematikte farklı kümeler arasında "ortak küme" oluşturmaya benziyor.
her soruda elimize farklı bir küme geçiyor bunlar arasındaki en çok elemanlı ortak kümeyi bulmaya çalışıyorum aslında
yardımcı olan, olmaya çalışan herkese teşekkürler.