sql - 累积决策 Oracle SQL

标签 sql oracle11g

美好的一天,

我有三列:Game_Date、Decision、Record

对于每一行(Game_Date)

最佳答案

您可以使用窗口 ( analytic Function ) 来获取每个日期/季节的总数。

现已测试!:

With GAME as
(Select to_date('15-MAR-15','DD-MON-YY') as Game_date, 'W' as decision, '2014-2015' as Season from dual UNION ALL
Select  to_date('19-MAR-15','DD-MON-YY') as Game_date, 'L' as decision, '2014-2015' as Season  from dual UNION ALL
Select  to_date('22-MAR-15','DD-MON-YY') as Game_date, 'L' as decision, '2014-2015' as Season  from dual UNION ALL
Select  to_date('24-MAR-15','DD-MON-YY') as Game_date, 'O' as decision, '2014-2015' as Season  from dual UNION ALL
Select  to_date('28-MAR-15','DD-MON-YY') as Game_date, 'W' as decision, '2014-2015' as Season  from dual UNION ALL
Select  to_date('01-APR-15','DD-MON-YY') as Game_date, 'W' as decision, '2014-2015' as Season  from dual )

--YOU ONLY NEED TO RUN THIS PART!!!    
SELECT Game_date AS "Date", Decision,
   SUM(CASE WHEN Decision = 'W' THEN 1 else 0 END) Over (partition by Season order by game_Date) || '-' || 
   SUM(CASE WHEN Decision = 'L' THEN 1 else 0 END) Over (partition by Season order by game_Date) || '-' || 
   SUM (CASE WHEN Decision = 'O' THEN 1 else 0 END) Over (partition by Season order by game_Date) AS "RECORD"
FROM Game
WHERE Season = '2014-2015' 
  --AND (Team_Visitor_ID = 1 OR Team_Home_ID = 1)

ORDER BY Game_Date desc

enter image description here

关于sql - 累积决策 Oracle SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36390444/

相关文章:

php - 通过准备好的语句使用 INSERT INTO 的 PDO

sql - Oracle:如何在查询中比较两个 NUMBERS 时获得值 'TRUE' 或 'FALSE'?

php - 如何通过选定的id来选择一个单元格。 SQL

sql - 自引用外键约束和删除

SQL 甲骨文 : Combining consecutive rows

sql - 使用 oracle 查询以平滑平均值填充表中缺失数据的间隙

sql - Access 创建表vba

oracle - 从多个表中删除同一组值

mysql - 如何获得表中所有内容的总和?

java - 使用 Hibernate Criteria API 返回每组的第一行