【发布时间】:2020-12-26 15:27:07
【问题描述】:
大家好,首先感谢您的宝贵时间。 我有这个数据
数据:
如果有一个组有两个相同的最大值,我必须获得每个组的最大值
A 40 23/56/1982
A 40 31/4/5521
只显示其中一个。 像这样
到目前为止,我已经尝试了两种方法,它们只有在每组没有任何重复的最大值时才有效。
Oracle SQL 代码:
SELECT DISTINCT SUB.GRUPO,SUBG.FECHA,SUBG.VALOR
FROM T2 SUBG
LEFT JOIN T2 SUB2
ON SUBG.GRUPO = SUB2.GRUPO AND SUBG.VALOR < SUB2.VALOR
WHERE SUB2.VALOR is NULL
ORDER BY GRUP
SELECT GRUPO, FECHA
FROM T2
WHERE VALOR IN (SELECT MAX(VALOR) FROM T2 GROUP BY GRUPO)
ORDER BY GRUPO
有什么办法吗?
【问题讨论】:
标签: sql oracle datetime max greatest-n-per-group