Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 计算带OVER子句的运行总计和带计数器的按子句划分_Sql_Postgresql_Sum_Window Functions - Fatal编程技术网

Sql 计算带OVER子句的运行总计和带计数器的按子句划分

Sql 计算带OVER子句的运行总计和带计数器的按子句划分,sql,postgresql,sum,window-functions,Sql,Postgresql,Sum,Window Functions,如何使用计数器计算每周的点数和用户名? 我使用按顺序划分的和 我希望最大金额为10美元。 我该怎么做 这是我的原始表格: 以下是我希望得到的结果: 以下是sql代码: SELECT week_number, user_name, sum(points) OVER (PARTITION BY user_name ORDER BY week_number) AS total_prime FROM team; 试试这个 select week_number, user_name,

如何使用计数器计算每周的点数和用户名? 我使用按顺序划分的和

我希望最大金额为10美元。 我该怎么做

这是我的原始表格:

以下是我希望得到的结果:

以下是sql代码:

SELECT week_number,
user_name,
sum(points) OVER (PARTITION BY user_name ORDER BY week_number) AS total_prime
FROM team;
试试这个

select 
  week_number, 
  user_name, 
  points, 
  case when total_prime > 10 then 10 else total_prime end as sum, 
  case when total_prime > 1 and total_prime < 10 then null 
       when total_prime > 10 then total_prime - 10 end as dif
from
  (select 
     week_number, 
     user_name, points, 
     sum(points) over (partition by user_name order by week_number) as total_prime 
   from 
     team) a
我在你的第二张桌子上看不到,艾伦有第4点,但有第2点

试试这个

select 
  week_number, 
  user_name, 
  points, 
  case when total_prime > 10 then 10 else total_prime end as sum, 
  case when total_prime > 1 and total_prime < 10 then null 
       when total_prime > 10 then total_prime - 10 end as dif
from
  (select 
     week_number, 
     user_name, points, 
     sum(points) over (partition by user_name order by week_number) as total_prime 
   from 
     team) a
我在你的第二张桌子上看不到,艾伦有第4点,但有第2点