美好的一天,
目前我正在开展一个项目,我有点卡住了。这个问题是一个相对简单的表格(见照片:http://cl.ly/5M0x)。
有一个user_id collumn和一个categorie_id collumn,每个都代表另一个表(用户和类别)的id。现在我试图让每个类别中的用户数量变得简单,并且可以像:
'SELECT COUNT(uc.user_id) as total FROM xs2media_users_categories as uc GROUP by uc.categorie_id'
但是,我想要的是,当某个用户被计入某个类别时,它将不计入其订阅的其他类别。因此,例如,如果用户编号4订阅了类别2,它将增加该计数,但不再增加类别3,即使他也可以订阅该类别。
希望这样做。
感谢。
答案 0 :(得分:2)
以下查询为每个用户选择一个类别,然后计算每个类别的nr个用户。
select categorie_id
,count(*)
from (select user_id
,min(categorie_id) as categorie_id
from xs2_media_users_categories
group
by user_id
) u
group
by categorie_id;
这是你在找什么?