postgresql - 使用 SQL,我可以在分组时在一个表中显示总和和部分总和吗?
问题描述
我正在尝试设置一个包含 date_trunc、部分总和和总和的表。这是我的清单:(仅供参考,日期为 mm/dd/yyyy 格式)
original_table 列是...
my_date | task_name
01/01/2019 | task 1
01/02/2019 | task 2
01/05/2019 | task 3
02/01/2019 | task 4
02/05/2019 | task 5
03/01/2019 | task 6
03/04/2019 | task 7
03/07/2019 | task 8
03/09/2019 | task 9
...
我希望它看起来像下面这样:
group_month | sub_total | total
jan | 3 | 9
feb | 2 | 9
mar | 4 | 9
我只能通过使用 2 个表来做到这一点,我想知道是否可以用 1 个表来做到这一点。
WITH total_table AS(
SELECT
count(task_name) AS total_task
FROM original_table
)
SELECT
DATE_TRUNC('month',my_date) AS group_month,
count(task_name) AS sub_total,
total_task
FROM origianl_table, total_table
GROUP BY group_month
解决方案
您可以使用以下 SQL:
select distinct extract('month' from my_date) mon_name,
count(*) over (partition by extract('month' from my_date)) sub_count,
count(*) over () total_count
from your_table
推荐阅读
- python - 外壳:管道文件到 python 标准输入并显示到屏幕
- javascript - 用 Jest 测试 Node.js API
- reactjs - 如何将请求 Axios 从 React JS 发布到 ASP.NET Core
- python - 使用任何列表值过滤 pandas df
- angular - 角材料复选框长文本开箱即用
- python - 有没有办法用参数颜色图绘制一条线?
- sql - 使模型类型可选
- discord.js - 不是角色 ID,而是角色名称 Discord.js
- c - 由 socket() 设置的 Errno 在手册页中没有记录
- entity-framework-core - 将 Entity Framework Core 与 Cosmos Db 一起使用时映射无密钥类型