简体   繁体   English

Oracle 11g 按用户分组计算不同的产品

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM