日期:2014-05-17  浏览次数:20817 次

如何用一个SQL选择某个表中,某字段中值最大的纪录
PK:number
PK:date
        name

如何选择出date最大的那些number和那么。


2002     601   aaa
2002     602   bbb
2002     603   ccc
2003     600   ddd
2003     604   eee
-----------------

结果为:
-----------------
2002     603   ccc
2003     604   eee

------解决方案--------------------
你的需求好象有问题啊~~~~
NUMBER应该是年份吧?中间的是月份吧?
你是要查每一年中最大的那天的值吧?
------解决方案--------------------
select date,max(number),max(name) from 表 group by date;
------解决方案--------------------
select
number,date,name
from (
select number,date,name,
row_number() over(partition by number order by date desc) row_num
from tb_x par
)
where row_num = 1
------解决方案--------------------
select date,max(number),max(name) from 表 group by date;
------解决方案--------------------
select a.* from table_a a,(select number,max(date) max_date from table_a group by number) b where a.number=b.number and a.date=b.max_date;
------解决方案--------------------
yufeiyxl(与飞)的完全可以
------解决方案--------------------
qiyousyc(沈阳棋友) 的是对的也是最好的一个
------解决方案--------------------
问题2种理解2种结果