Yorumlar için teşekkürler.
Deve adlı üyeden alıntı: mesajı görüntüle
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.