[英]How to select multiple columns, sum one column and group by multiple columns
我有一个名为example
的表,其中包含user_id
、 date_start
和activity
列
我需要 select user_id
、 date_start
列并计算唯一的user_id
,然后按user_id
和date_start
。
表数据:
----------------------------------
| user_id | date_start | activity |
|---------|------------|-----------|
| 1 |2021-04-01 | CATIA |
| 1 |2021-04-05 | CATIA |
| 1 |2021-04-02 | CATIA |
| 1 |2021-05-01 | CATIA |
| 1 |2021-05-02 | CATIA |
| 3 |2021-05-02 | CATIA |
| 3 |2021-05-03 | CATIA |
| 4 |2021-05-05 | CATIA |
----------------------------------
这个查询:
SELECT FORMAT(d.date_start, 'yyyy-MM'), d.user_id
from (select d.user_id, date_start,
count(*) over (partition by user_id) as cnt,
row_number() over (partition by FORMAT(date_start, 'yyyy-MM') order by FORMAT(date_start, 'yyyy-MM') desc) as seqnum
from planner d
) d
where seqnum = 1;
我需要我的代码显示如下:
---------------------
| date_start | total |
|------------|--------|
| 2021-04 | 1 |
| 2021-05 | 3 |
---------------------
你在找这个吗? :
select FORMAT(d.date_start, 'yyyy-MM') date_start
, count(distinct user_id) total
from planner d
group by FORMAT(date_start, 'yyyy-MM')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.