在下面的代码中,我为col0获取了多行。
col0不是唯一的,例如 - col0可能有四行,值为5,两行的值为7,等等。
我想为col0中的每个值返回一行。 假设numToDate是一个自解释的UDF(对于ISO),我想为col0中的每个值返回一行,其中col3是最近的日期。
SELECT col0, col1, numToDate(col2), numToDate(col3)
FROM myTable
where col1 = 'someValue';
答案 0 :(得分:1)
您可以使用row_number()
:
select col0, col1, numToDate(col2), numToDate(col3)
from (select t.*,
row_number() over (partition by col0 order by numToDate(col3) desc) as seqnum
from mytable t
) t
where seqnum = 1;