oracle _ sql 求 截止日 最大的日期的那条数据的数据集 含有group by

我只能这样查:selectmax(date),typefromTwheredate《sysdategroupbyT.type;怎么找到max(date)的那个id呢?也返... 我只能这样查:select max(date),type from T where date 《 sysdate group by T.type ;
怎么找到max(date) 的那个id 呢 ? 也返回的是一个group的数据集

我还这样写过 select * from T join (select date,type from T group by t.type order by date) t1 on t.type =t1.type and t.date = t1.date ;

但是这样、会出现一些问题、时间都是date类型、而不是datetime类型、、就会有重复的,而且在后面我还要做sum 、就会一下子多统计进去、、、纠结啊、希望大神能支支招
展开
 我来答
badkano
2013-12-16 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885359
团长

向TA提问 私信TA
展开全部
select 销首t1.* from t t1,
(select 樱亩type,max(date) maxdate from t where date <sysdate group by type) t2
where 亏颂数t1.type=t2.type and t1.date=t2.maxdate

这样?

追问
这不是跟我上面的一样吗? 无非一个是 join  一个where     哎、、这样、日期一样的时候、就求出两条啦、、sum的时候就会出错、、要求得是【每种分类操作日期最后的那条数据的集合】注:日期相同时候 可随机取一条
追答
select * from
(select t.*,row_number() over (partition by type order by date desc) rn from t) s
where rn=1

 这样?

zhoudha
生活家

2017-11-20 · 知世故而不世故地生活
知道大有可为答主
回答量:2.4万
采纳率:91%
帮助的人:72.1万
展开全部
select id,* from T,(select max(date) as max_date,type from T where date < sysdate group by T.type) A where T.type=A.type and T.date=A.max_date;
这样写试一下,看看悔做亏是否好碧神用。胡此
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式