[英]Oracle 11g count distinct products group by user
I have a table with following fields我有一个包含以下字段的表
ID ID | PRODUCT产品 | STATUS地位 | USERID用户身份 | Date日期 |
---|---|---|---|---|
1 1个 | 100 100 | 1 1个 | 10 10 | 01-01-2023 01-01-2023 |
2 2个 | 101 101 | 1 1个 | 10 10 | 01-01-2023 01-01-2023 |
2 2个 | 102 102 | 2 2个 | 10 10 | 01-01-2023 01-01-2023 |
3 3个 | 100 100 | 2 2个 | 20 20 | 02-01-2023 02-01-2023 |
4 4个 | 102 102 | 1 1个 | 30 30 | 02-01-2023 02-01-2023 |
4 4个 | 100 100 | 1 1个 | 10 10 | 03-01-2023 03-01-2023 |
Desired output所需 output
Distinct product scan by each userid between 01-01-2023 to 03-01-2023 and count by status for each user在 01-01-2023 到 03-01-2023 之间按每个用户 ID 进行不同的产品扫描,并按每个用户的状态计数
USERID用户身份 | PRODUCT SCAN产品扫描 | STATUS1 CNT状态 1 CNT | STATUS2 CNT状态 2 CNT |
---|---|---|---|
10 10 | 3 3个 | 2 2个 | 1 1个 |
20 20 | 1 1个 | 0 0 | 1 1个 |
30 30 | 1 1个 | 1 1个 | 0 0 |
Use COUNT(DISTINCT column_name)
.使用COUNT(DISTINCT column_name)
。
Query询问
select userid, count(distinct product) as productScan
from table_name
where date between '2023-01-01' and '2023-01-03'
group by userid;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.