首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择多列、求和一列、按多列分组

如何选择多列、求和一列、按多列分组
EN

Stack Overflow用户
提问于 2021-08-13 16:46:52
回答 1查看 36关注 0票数 1

我有一个名为example的表,其中包含列user_iddate_startactivity

我需要选择user_iddate_start列,计算唯一的user_id,然后按user_iddate_start分组。

表数据:

代码语言:javascript
复制
  ----------------------------------
 | 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     |
  ----------------------------------

此查询:

代码语言:javascript
复制
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;

我需要像这样展示我的代码:

代码语言:javascript
复制
  ---------------------
 | date_start | total  |
 |------------|--------|
 | 2021-04    | 1      |
 | 2021-05    | 3      |
  ---------------------
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-13 16:50:28

你在找这个吗?:

代码语言:javascript
复制
select FORMAT(d.date_start, 'yyyy-MM') date_start
     , count(distinct user_id) total
from planner d
group by FORMAT(date_start, 'yyyy-MM')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68775839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档