hur.cn - 华软网

 热门搜索

请教取每组第一条记录的sql写法

  作者:未知    来源:网络    更新时间:2019/1/5
假定表中数据以下
id     date          pos
1248   2006-06-12    3
1248   2006-01-15    2
1411   2005-11-15    2
1411   2006-08-09    1
1411   2006-11-07    1
1520   2006-10-02    2
我想获得每一个id中date最新的一条记录,即
id     date          pos
1248   2006-06-12    3
1411   2006-11-07    1
1520   2006-10-02    2

sql该怎么写?
------华软网友回答------
建立一个datawindow如何实现,数据库是oracle
------华软网友回复------
select id, max(date), pos  from table group by id;
------华软网友回复------
select id, max(date), pos  from table group by id;

------华软网友回复------
select id, date, pos 
  from (
    select id, date, pos, 
         row_number() 
 over (partition by id order by date desc) row_id 
from 表
)
where row_id = 1
oracle8i以上版本可用
------华软网友回复------
select id, max(date), pos  from table group by id,pos
------华软网友回复------
select *
from 表名
where 客户编号+convert(varchar,日期) in
(select 客户编号+convert(varchar,max(日期)) from 表名
where  日期=max(日期)
group by 客户编号) ;
------华软网友回复------
经验证,kingkingkingking(南极飘雪)非常对,赞,
youqiong(今夜有风) 貌似不对,横竖不能实现!
wuyanke(天才呆子)sql语句是对的,但在datawindow里面功能不能实现哦!

其余几位,嘿嘿,应该是不对的哦!
楼主,帮你那么大忙多给我点分哦!
------华软网友回复------
谢谢列位啦,问题已经解决      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。