想要按选项计算按组呈现的计数总和

时间:2010-04-07 06:46:12

标签: mysql group-by

我有一个包含id,tid,companyid,ttype等列的表。

对于许多companyid,id可能相同,但在companyid和 tid始终是唯一的

我想计算表中输入的交易总数

单个交易可以插入多行,

例如,

id tid companyid ttype 
1  1   1         xxx
1  2   1         may be null
2  3   1         yyy
2  4   1         may be null
2  5   1         may be null

上述条目应仅算作2笔交易..

对于许多公司来说可能会重复..

那么如何计算表格中输入的交易总数

我试过

select sum(count(*)) from transaction group by id,companyId; 

但不起作用

select count(*) from transaction group by id; 

不会工作,因为id可能会针对不同的公司重复。

2 个答案:

答案 0 :(得分:2)

试试这个

SELECT SUM(s.counts) transactions FROM (SELECT COUNT(*) counts FROM transaction GROUP BY id,companyId) s; 

答案 1 :(得分:0)

您可能需要重新定义您的要求。但根据我的理解,以下可能有效:


select count( distinct id, companyid ) from transaction ;