gpt4 book ai didi

php - 一列上的多个计数值

转载 作者:行者123 更新时间:2023-11-29 07:13:21 24 4
gpt4 key购买 nike

我想查询我的数据库并获取单个列中每个 ID 的出现次数。

与此查询相关的两个表是:categories:这个表有一个所有类别的列表,带有标题

id | title
----------
1 | project
2 | tech
3 | other

category_news:该表用于为新闻条目分配类别,每个新闻条目可以在多个类别中

id | category_id | news_id
--------------------------
1 | 1 | 2
2 | 1 | 5
3 | 1 | 3
4 | 2 | 4
5 | 3 | 2
6 | 3 | 1

我想得到一个结果(不必是数组,我可以整理查询结果,只需使用下面的数组作为返回结果的示例):

array(
'project' => 3
'tech' => 1
'other' => 2
);

其中键是类别标题,值是每个类别中的新闻项总数。我知道我可以通过查询每个类别来做到这一点:

select count(cn.category_id), c.title from category_news cn join categories c on c.id = cn.category_id where category_id = 1

但我的问题是,我可以通过一个查询来获取所有计数吗?就好像我有 100 个类别,这就是我的 100 个查询,我很乐意一次完成。

任何帮助将不胜感激

问候

卢克

最佳答案

试试这个:

SELECT     c.title, count(cn.category_id)
FROM categories c
LEFT JOIN categories_news cn
ON c.id = cn.category_id
GROUP BY c.title

关于php - 一列上的多个计数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3117088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com