获取项目的计数列表

时间:2012-11-06 10:20:09

标签: mysql count

我有两个表符号和rpm。

表格详情 转: rpm中的条目导出符号并使用。

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

表格说明:

符号: 符号表具有id,name,rpm_id(映射到rpm表的id),用于显示是否导出或使用的标志。 flag = 1;消费 flag = 0;导出

转: rpm表有id,name。

更多背景信息 由rpm条目导出的符号被其他rpm表条目多次使用。 因此,符号表在符号表中多次使用不同的id,rpm_id。

进行登记

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

输出布局:

  

symbol.name | count(消耗此符号的时间)|

尝试过的解决方案:

  

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

     

FROM符号,rpm

     

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

     

GROUP BY symbol.name;

但是我在每个符号的count列中得到'1',这是错误的。

有问题的查询语义:

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

请提出一些方法/查询以获得结果。

谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个解决方案

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用于消费