MySQL如何统计每个ID出现的次数?

标签 mysql sql

可能很难解释我的问题,如果问题含糊不清,我们深表歉意。

我有一个表,它使用 ID 将产品与关键字相关联

所以我可能有产品 ID,2、3、4、5 与关键字 ID 14 相关联 以及与关键字 ID 15 相关联的产品 ID 3、6、9

我的问题是如何计算和存储与关键字 14 相关联的那些 ID 以及与关键字 15 相关联的那些 ID 等等(一直添加新关键字)的总数?

到目前为止我的 SQL:

select products_keyword_categories.key_cat_name 
from products_keyword_to_product 
inner join products_keyword_categories 
on products_keyword_categories.key_cat_id = products_keyword_to_product.key_cat_id 
group by products_keyword_categories.key_cat_name

非常感谢您的任何建议。此外,如果有任何术语可以帮助我通过 Google 搜索进行进一步研究,我们也非常欢迎。

编辑添加:在上面的示例中,包含关联的表是 products_keyword_to_product - 我内部连接另一个表以返回关键字名称。

编辑添加 (2):抱歉,我担心我的问题会含糊不清。 如果我只想计算使用关键字 ID 14 的所有产品,我会使用 COUNT() AS - 如答案中所述,但我还需要计算使用关键字 ID 15 和关键字 ID 16 等的产品数量 - 希望这使得更有意义。

最佳答案

select key_cat_name ,count(*) 
from products_keyword_categories pkc 
    inner join products_keyword_to_product ptk on pkc.id=ptk.key_id 
group by id;

关于MySQL如何统计每个ID出现的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12530956/

相关文章:

java - MySQL 不允许 Java 程序使用 JDBC 插入

mysql - 按团队名称选择积分组的总和

sql - 如何在 PostgreSQL 中仅列出表的属性名称

sql - 使用格式文件在 SQL 中批量插入 csv 以删除双引号

java - SQL触发时调用servlet程序

mysql - INSERT 查询完整行期望 id

mysql - 如何在一个查询中从 3 个不同的表中获取 3 个参数 - SQL

mysql - DATE_SUB(NOW(), INTERVAL 14 DAY) 不工作

php - isconnected() 返回 true 尽管 mysql 服务器在 zend 框架中消失了

sql - 重写函数以不返回记录类型