MAX(ROW_NUMBER)
在teradata
中不起作用。但是在需要实现相同场景的情况下,如何实现呢?
假设我的基表看起来像这样 -
Month Prev_Sport Curr_Sport
JAN REST CRICKET
JAN CRICKET RUGBY
FEB REST SKATING
FEB SKATING RAFTING
MAR REST RACING
MAR RACING GLIDING
输出表应该像 -
Month First_Sport Last_Sport
JAN CRICKET RUGBY
FEB SKATING RAFTING
MAR RACING GLIDING
如果我们在主表上创建Last_Sport
并根据rownumber
获取数据,我们可以在输出中获得所需的max(rownumber)
列。但这同样在teradata
中不起作用。
有没有替代解决方案?
答案 0 :(得分:0)
现有DBMS不允许MAX(ROW_NUMBER)。
您没有显示如何计算ROW_NUMBER,但是当您需要它的MAX时,您可以简单地反转ORDER然后
QUALIFY ROW_NUMBER() OVER (PARTITION BY ... ORDER BY .... DESC) = 1