我有两个表category和adverts,我需要选择所有类别以及adverts表中至少计数大于零的广告数
分类表
cat_id | Name
----------------
1 | Toys
2 | fashion
3 | electronics
广告表
cat_id | title
----------------
1 | a
2 | b
2 | c
1 | d
2 | e
我所期望的
cat_id | count | Name
-----------------------
1 |2 | a
2 |3 | b
我试过的问题
Select
c.name, c.cat_id,c.parent_id, @count:= (Select Count(av.cat_id) From adsview av Where av.cat_id = c.cat_id)
from
category c WHERE @count > 0
我得到了空洞的结果,我做错了什么?
最佳答案
如果要确保cat_id
中的category
表位于adverts
表中,则需要以
select
c.cat_id,
c.Name,
count(a.cat_id) as `count`
from category c
join adverts a on a.cat_id = c.cat_id
group by c.cat_id ;