单个表的多行计数

时间:2015-02-26 07:30:22

标签: sql select db2

如何使用db2查询从单个表中获取多个记录的计数?

假设我想使用以下方法获得1条记录的计数:

select count(*) from schema.table where record value='x'

我需要的是每个记录的不同行中来自同一个表的多个记录的计数。我正在尝试类似的事情:

select count(*) from schema.table where record in('x','y','z')

查询结果将值合并为一行中的单个值,这是我不想要的。

2 个答案:

答案 0 :(得分:2)

我几乎同意Mureinik。您可以添加WHERE子句以仅从您想要的记录中获取多个行计数,例如(x,y,z)

SELECT record, COUNT(*) AS 'count'
FROM schema.table WHERE record IN ('x', 'y', 'z')
GROUP BY record

<强>结果:

------------------
| record | count |
------------------
|   x    |  100  |
|   y    |  150  |
|   z    |  50   |
------------------

答案 1 :(得分:1)

group by语法将表分成组,并允许您分别对每个表执行聚合函数(count):

SELECT   record, COUNT(*)
FROM     schema.table
GROUP BY record