我的问题似乎很简单,但我无法弄清楚。如何选择列的最大值
这是我有:
TIME MAXVERSION
13-12-31 1
13-12-31 2
14-12-31 1
14-12-31 2
14-12-31 3
15-12-31 1
15-12-31 2
15-12-31 3
16-12-31 1
,这是我想拥有的一切:
TIME MAXVERSION
13-12-31 2
14-12-31 3
15-12-31 3
16-12-31 1
我已经试过这样:
select referencetid as time max(version) over (partition by referencetid order by version desc) as maxversion
from D101200.PSD_BEFOLKNING_REFERENCE
where to_char(referencetid, 'mm-dd') = '12-31'
and to_char(referencetid, 'yy-mm-dd') between ('07-12-31') and ('16-12-31')
order by referencetid;
这让我排序我想要但不完全的重量:
TIME MAXVERSION
13-12-31 2
13-12-31 2
14-12-31 3
14-12-31 3
14-12-31 3
15-12-31 3
15-12-31 3
15-12-31 3
16-12-31 1
这给了我正确的版本,但数据集没有缩小,这是我想要的。
任何帮助是非常可观的!
如果我理解正确,您希望按日期聚合,那么您可以按时间使用该聚合的组,如在第一个答案中。 –
退一步从具体问题,并阅读一些关于“分析功能”与“聚合函数”一般。你们两人之间显然很混乱;直到你非常清楚地了解两者之间的差异,你将无法编写出好的代码。 – mathguy
你很可靠。我会花时间在两者之间进行区分。 – Sisse