你能解释一下这段SQL是怎么工作的吗?QUALIFY选择第一个值,很明显
QUALIFY RANK(column1 ASC, column2 ASC, column3 , column4)=1在column1之后,Rank()对下一列做了什么?
发布于 2020-01-24 22:04:35
首先,非常不鼓励使用RANK()。请参阅documentation。
更好的写法是:
QUALIFY RANK() OVER (ORDER BY column1 ASC, column2 ASC, column3 , column4) = 1这相当于在满足以下条件的情况下返回所有行:
column1的值最小,value.column2的值最小,(1).column3的值最小,(2).column4的值最小,(3)的值最小。也就是说,数据按四个键排序,并返回第一行--以及与这四个键匹配的所有行。
https://stackoverflow.com/questions/59897922
复制相似问题