MySQL 类别计数
Posted
技术标签:
【中文标题】MySQL 类别计数【英文标题】:MySQL Category Count 【发布时间】:2013-07-09 16:14:31 【问题描述】:我正在尝试制作一个搜索过滤器,以显示带有项目计数的类别。我有一个类别/职位关系表如下
entry_id | cat_id
------------------
1 | 1
------------------
1 | 3
------------------
2 | 1
------------------
3 | 2
------------------
3 | 3
------------------
我要做的是显示每个类别的帖子总数。我已经设法实现了一个绝对解决方案,其中一个明确的总输出显示如下:
SELECT count(entry_id) as count FROM cat_rel_table WHERE cat_id = $i;
我想要实现的是一个更相关的计数,它计算有多少项目被归类在所有“活动”类别中。所以我想指定多个 cat_id。它将计算有多少项目被归类在这些类别下。类似这样的东西:
SELECT count(entry_id) as count FROM cat_rel_table WHERE cat_id IN(1, 3);
但前提是一个类别有一个项目也属于另一个活动类别。
【问题讨论】:
您如何确定一个类别是否“活跃”? 【参考方案1】:使用 GROUP BY。
SELECT count(entry_id) as count, cat_id
FROM cat_rel_table
WHERE cat_id IN(1, 3)
GROUP BY cat_id
然后您可以修改 IN()
子句以过滤“活动”类别。
【讨论】:
【参考方案2】:我相信您正在寻找“分组依据”子句。
http://www.w3schools.com/sql/sql_groupby.asp
【讨论】:
以上是关于MySQL 类别计数的主要内容,如果未能解决你的问题,请参考以下文章