mysql - 获取项目计数列表

标签 mysql count

我有两个表 symbol 和 rpm。

表格详细信息: 转速: rpm 中的条目导出符号并使用。

符号: 符号表是所有符号(导出和消费)的集合。

表格说明:

符号: 符号表有 id、名称、rpm_id(映射到 rpm 表的 id)、标志以显示它是导出还是使用。 标志 = 1;消费 标志 = 0;导出

转速: rpm 表有 id、name。

更多上下文: rpm 条目导出的符号会被其他 rpm 表条目多次使用。 因此,一个符号以不同的 id,rpm_id 被多次登记在符号表中。

问题陈述: 按给定的 rpm(给定其 id;例如 35)和每个符号被其他 rpm 条目消耗的时间列出导出的符号。

输出布局:

symbol.name | count(number of time this symbol is consumed)|

尝试过的解决方案:

SELECT symbol.name, count(distinct symbol.rpm_id)

FROM symbol, rpm

WHERE symbol.flag = 0 && symbol.rpm_id = 35

GROUP BY symbol.name;

但我在每个符号的计数列​​中得到“1”,这是错误的。

相关查询的语义:

第一个查询应该获取给定 rpm.id (rpm.id = 35) 导出的所有符号, 然后对于结果集中的每个结果 symbol.id,它应该找到它被消耗的次数,即它的计数,并在该符号前面打印计数。

请建议一些方法/查询以获得结果。

谢谢。

最佳答案

试试这个解决方案

select 
    rpm.id , 
    rpm.rpm , 
    count(symbols.id) 
from rpm
left join symbols on symbols.rpm_id = rpm.id
where symbols.flag = 1
group by rpm.id

1 用于消费

关于mysql - 获取项目计数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13248918/

相关文章:

PHP:获取参数计数

php - MYSQL:基于第二张表的联接、计数和排名

mysql - 查询中的 Count、SUM、LEFT JOIN 和 GROUP BY 无法正常工作

mysql - 如何使用关系将制表符分隔文件插入mysql

mysql - ZEND 固件 : Joining two tables from different databases

javascript - 如何动态访问递增的json值

linux - 试图计算 perl 中一行中的字符数,但失败了

php - 如何使用 codeigniter 从数据库中的一行中获取值?

更改 max_allowed_pa​​cket 参数后 MySQL 服务器无法启动

php - 使用 PHP PDO 进行会计连续数学求解