ORACLE中取得分组之后,每组数据中(多个字段)不重复的前10条记录,并且按时间排序。

oracle表中,有如下几个字段,idnameproductopversiontime,我已经实现按name分组,取出每组10条数据,时间倒叙,SQL如下:SELECT*... oracle表中,有如下几个字段,
id name product op version time,

我已经实现按name分组,取出每组10条数据,时间倒叙,SQL如下:
SELECT * FROM (SELECT CSV.*,ROW_NUMBER() OVER(partition by MAE_NAME order by CSV.TIME_STAMP_END desc) as RN FROM CONDITION_CSV CSV) WHERE RN < 11;
这个SQL中发现每组的10条数据有product , op , version三个字段完全一样的。

我想在上面的SQL的基础上,实现每组的10条数据中,product , op , version三个字段不完全重复,不知道怎么实现,求大神指导。
展开
 我来答
blademaster717
2016-12-15 · TA获得超过1457个赞
知道小有建树答主
回答量:882
采纳率:97%
帮助的人:375万
展开全部
SELECT *
FROM (SELECT T2.*, ROW_NUMBER()
OVER(PARTITION BY MAE_NAME ORDER BY TIME_STAMP_END DESC) AS RN2 FROM
(SELECT T1.*,
ROW_NUMBER() OVER(PARTITION BY MAE_NAME, PRODUCT, OP, VERSION ORDER BY TIME_STAMP_END DESC) AS RN1
FROM CONDITION_CSV T1) WHERE RN1 = 1) T2
WHERE RN2 < 11
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式