MySQL关联表COUNT()和GROUP BY

时间:2011-06-23 16:50:58

标签: php mysql count group-by

我正在做一个非常正常的例程,但是很难让我的输出正确。

我有两张桌子: * ads_list *(列表)和* ads_cate *(类别)。

我目前正在显示我的类别列表:

SELECT id, cateName FROM ads_cate ORDER BY cateName

我想要实现的目标:以此格式计算每个类别中的所有项目:

类别|广告数量

categoryName 56

这是我当前的代码,并且一直在调整,但在我的数组中没有输出:

SELECT 

ads_cate.id, 
ads_cate.cateName, // Category Name

ads_list.id, 
ads_list.COUNT(title), // Title of ad
ads_list.Category // Relational Category ID INT(11)

FROM

ads_cate, 
ads_list

GROUP BY cateName 
ORDER BY cateName

我在所有必填字段中调用并在我的标题字段上运行COUNT()(因为这些对于每个广告都是唯一的)然后我通过cateName进行分组,这似乎也是正确的。

1 个答案:

答案 0 :(得分:1)

看看这给你带来了什么。我认为这就是你所需要的。

SELECT 
ads_cate.cateName, // Category Name
COUNT(ads_list.id), // Title of ad
FROM

ads_cate
INNER JOIN 
ads_list
ON ads_cate.id = ads_list.category

GROUP BY cateName 
ORDER BY cateName