帮看看这个sql怎么写

[复制链接]
查看11 | 回复4 | 2008-11-28 01:01:04 | 显示全部楼层 |阅读模式
有如下一个表:
ID NO DATEVALUE
11200810032
21200810025
31200810013
41200810041
52200810034
62200810026
72200810012
83200810021
93200810017
我想找出每个相同NO的VALUE最大值的那一行
对应上面的那个表,结果应该是:
ID NO DATEVALUE
21200810025
62200810026
93200810017
请问获得这样结果的SQL该怎么写??
回复

使用道具 举报

千问 | 2008-11-28 01:01:04 | 显示全部楼层
select *from (select id,no,date,value,row_number over (partition by no order by value desc) rn from you_tab) b
where rn =1;
回复

使用道具 举报

千问 | 2008-11-28 01:01:04 | 显示全部楼层
如果最大值有多行而且所有的行都得取出,就用RANK() 代替ROW_NUMBER().
小猪你心情不好?不是已经出仓了吗?
回复

使用道具 举报

千问 | 2008-11-28 01:01:04 | 显示全部楼层
能不能这样写:
select *
from t ot
where value =
(select max(value)
from t it
where ot.no = it.no);
回复

使用道具 举报

千问 | 2008-11-28 01:01:04 | 显示全部楼层
Select *From t
Where Id
In(
selelct Max(Id),No
From t
grounp By No);
这样可以吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行