在表sql查询中查找减少值

时间:2016-09-28 13:51:49

标签: sql db2

我有一张这样的桌子。如果时间增加,我希望增加评级栏,但有时评级栏减少。我想找几次减少这张桌子。在该示例中,评级列2次减少(4 - > 2和3 - > 1)我想在查询中使用这2个数字。每次都增加时间列。如何编写这种情况的sql查询。 (注意:我正在使用DB2 DBMS)

Rating times
1      20.09.2016  
2      21.09.2016
3      22.09.2016
4      23.09.2016
2      24.09.2016
3      25.09.2016
1      26.09.2016 

谢谢,

2 个答案:

答案 0 :(得分:1)

SELECT COUNT(1) AS COUNT_OF_TIMES_RATING_GOT_DECREASED
  FROM
 (
    SELECT rating, 
           times,
           rating - LEAD( rating, 1 ) OVER ( ORDER BY times ) AS diff_rating
      FROM table 
  )
WHERE diff_rating > 0;

答案 1 :(得分:0)

没有这些功能可用,例如使用DB2 for i,以下内容应该足够[轻松省略 fluff 我添加以生成漂亮的报告,和/或可选地纠正我的包含row_number以显示from / to而不是显示表示减少过渡的“times”值]:

Time.now.strftime('%d-%b-%y') # => "28-Sep-16"
Time.now.strftime('%d-%b-%Y') # => "28-Sep-2016"