SQL-计算每个值的行

时间:2018-08-29 20:33:18

标签: sql sql-server

我有一个帐户表,每个帐户都有一个唯一的ID。然后,我有一个事务表,每个事务表都有唯一的ID。交易表的每一行都有一个帐户ID,以显示其使用的特定帐户。因此,在“交易”表中可以有多行具有相同的帐户ID,每个行都指向同一个帐户,以表明该帐户有多个交易。

每个帐户可以进行任意数量的(0-n)个交易。

我将事务处理表与“帐户”表连接好,输出显示每个事务处理一行(因此某些帐号有多个行),或者,如果没有事务处理,则在事务处理字段中显示null :

|Account ID|Account Name|Transaction ID|Transaction Name|
---------------------------------------------------------
|acc1      |Account 1   |tran1         |Transaction 1   |
|acc1      |Account 1   |tran2         |Transaction 2   |
|acc1      |Account 1   |tran3         |Transaction 3   |
|acc2      |Account 2   |tran4         |Transaction 4   |
|acc3      |Account 3   |null          |null            |
|acc4      |Account 4   |tran5         |Transaction 5   |
|acc4      |Account 4   |tran6         |Transaction 6   |

但是我想要的是对交易数量进行计数-我不在乎与每笔交易相关的任何信息;我只想获取每个帐户的交易数:

|Account ID|Account Name|Number of Transactions|
------------------------------------------------
|acc1      |Account 1   |           3          |
|acc2      |Account 2   |           1          |
|acc3      |Account 3   |           0          |
|acc4      |Account 4   |           2          |

如何获得此计数?

FWIW-Microsoft SQL Server

2 个答案:

答案 0 :(得分:3)

<style>
  .tooltip-inner { max-width: 200px; }
</style>

<button type="button"
              data-container="body" 
              data-toggle="tooltip" 
              tooltip="Tooltip on leftaaaaaaaaaaaaaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"
              tooltip-placement="left" >
             Tooltip on left111
</button>

答案 1 :(得分:1)

假设您的表结构是

create table tran (accid varchar, accname varchar, tranid varchar, tranname varchar)

您可以使用group by子句简单地实现此目的

select accid,accname, count(tranid) from tran group by accid