当前位置: 代码迷 >> Oracle开发 >> 求一条SQL语句,请帮帮忙解决思路
  详细解决方案

求一条SQL语句,请帮帮忙解决思路

热度:59   发布时间:2016-04-24 06:30:42.0
求一条SQL语句,请帮帮忙
如题,要求 两张表 一个类型表 一个信息表,类型表的type字段和信息表type字段关联,现需要联合查出最新的一条信息(信息表create_date),按照type分组
------解决思路----------------------
典型的数据去重问题,方法一堆
参考吧,把下面语句中的id替换成type,日期替换为create_date,把表名T替换为你的信息表
select ID,日期,其他字段
from (
    select ID,日期,其他字段,row_number() over(partition by ID order by 日期 DESC) rn
    from T
)where rn=1

select * from T T1
WHERE NOT EXISTS(SELECT 1 FROM T WHERE ID=T1.ID AND 日期>T1.日期)
 
select * from T
WHERE (ID,日期) IN (SELECT ID,MAX(日期) FROM T GROUP BY ID)
 
SELECT ID,MAX(日期),
MAX(字段1)KEEP(DENSE_RANK LAST ORDER BY 日期)
MAX(字段2)KEEP(DENSE_RANK LAST ORDER BY 日期)
……--其他字段同上
FROM T GROUP BY ID
  相关解决方案