首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

问下关于一条sql话语,请各位帮下忙

2013-10-16 
问下关于一条sql语句,请各位帮下忙列入表:id,name,date1 , a,2013.05.062 , b,2013.05.083 , c,2013.05.05

问下关于一条sql语句,请各位帮下忙
列入表:
id,name,date
1 , a  ,2013.05.06
2 , b  ,2013.05.08
3 , c  ,2013.05.05
4 , a  ,2013.07.08

目标:
需要排除重复,根据date获取最新数据。我需要最新的数据
id,name,date
2 , b  ,2013.05.08
3 , c  ,2013.05.05
4 , a  ,2013.07.08


然后我用sql语句无论是用到DISTINCT 还是group by来查询最后都达不到条件
我最后得到的结果都是
id,name,date
1 , a  ,2013.05.06
2 , b  ,2013.05.08
3 , c  ,2013.05.05

求指点~~~~~~
[解决办法]
select id,name,date from 表 as a exist(select id ,name,max(date) from 表 where id = a.id group by name,id having max(date) = a.date)
[解决办法]

引用:
Quote: 引用:

select id,name,date from 表 as a exist(select id ,name,max(date) from 表 where id = a.id group by name,id having max(date) = a.date)

但是之后我怎么拿出他的maxdate呢?

select b.id,b.name,b.date from 表 as a exist(select id ,name,max(date) as date from 表 where id = a.id group by name,id having max(date) = a.date) as b
b.data就是maxdate
[解决办法]
引用:
列入表:
id,name,date
1 , a  ,2013.05.06
2 , b  ,2013.05.08
3 , c  ,2013.05.05
4 , a  ,2013.07.08

目标:
需要排除重复,根据date获取最新数据。我需要最新的数据
id,name,date
2 , b  ,2013.05.08
3 , c  ,2013.05.05
4 , a  ,2013.07.08

求指点~~~~~~


select id,name,"date" from(
select id,name,"date",row_number()over(partition by name order by "date" desc) rn from ax
) where rn=1
order by id;

 
        ID NAME date
---------- ---- ----------
         2 b    2013.05.08
         3 c    2013.05.05
         4 a    2013.07.08

热点排行