首页 > 解决方案 > sql中的累计总数

问题描述

我有这张桌子。我需要计算:

  1. 累计积木总数(total_count)
  2. 每种颜色累计总积木数(running_total_per_colour)
brick_id     colour shape   weight
1            blue   cube    1
2            blue   pyramid 2
3            red    cube    1
4            red    cube    2
5            red    pyramid 3
6            green  pyramid 1

我怎样才能用 SQL 做到这一点

标签: mysqlsqldatabaseoracle

解决方案


你在寻找这样的东西。

SELECT A.*, COUNT(*) OVER() CUMMULATIVE_TOTAL,
ROW_NUMBER() OVER(PARTITION BY COLOUR ORDER BY BRICK_ID) RUNNING_TOTAL
FROM TABLE1 A;

DB_FIDDLE


推荐阅读