单个 table 的多行计数

Multiple row count from single table

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

假设我想获取 1 条记录的计数,我正在使用:

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

我需要的是对来自同一 table 的多条记录进行计数,每条记录在不同的行中。我正在尝试类似的东西:

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

查询结果将值组合成一行中的一个值,我不希望这样。

group by 语法将 table 分成几组,并允许您分别对每个组执行聚合函数(count,在您的情况下):

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

我几乎同意 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   |
------------------