DB2对多个列进行非重复计数

sz81bmfz  于 2022-12-13  发布在  DB2
关注(0)|答案(2)|浏览(216)

我试图查找多个值的计数和非重复值,但在db2中不起作用
从表中选择计数(非重复列1、列2)
它抛出计数器有多个列语法错误。有什么方法可以实现这个错误吗

column 1 column 2 date
1             a   2022-12-01
1             a   2022-12-01
2              a  2022-11-30
2              b  2022-11-30
1             b   2022-12-01

i want output

column1 column2 date        count
1         a      2022-12-01  2
2         a      2022-11-30  1
2         b      2022-11-30  1
1         a      2022-12-01  1
7vux5j2d

7vux5j2d1#

下列查询会传回您想要的结果。

WITH MYTAB (column1, column2, date) AS
(
VALUES
  (1, 'a', '2022-12-01')
, (1, 'a', '2022-12-01')
, (2, 'a', '2022-11-30')
, (2, 'b', '2022-11-30')
, (1, 'b', '2022-12-01')
)
SELECT
  column1
, column2
, date
, COUNT (*) AS CNT
FROM MYTAB
GROUP BY 
  column1
, column2
, date

| 第1列|第2列|日期|碳纳米管|
| - -|- -|- -|- -|
| 一个|一种|2022年12月1日|2个|
| 一个|B| 2022年12月1日|一个|
| 2个|一种|2022年11月30日|一个|
| 2个|B| 2022年11月30日|一个|
fiddle

j2qf4p5b

j2qf4p5b2#

不确定您要找什么...
但是,
select count(distinct col1), count(distinct col2) from table

select count(distinct col1 CONCAT col2) from table
是如何解释表中的“多个值的非重复计数”。

相关问题