老子就这么导分之三:按某一字段分组取最大(小)值所在行的数据

dawugui 2011-05-06 11:21:07
数据如下:
name val memo
a 2 a2(a的第二个值)
a 1 a1--a的第一个值
a 3 a3:a的第三个值
b 1 b1--b的第一个值
b 3 b3:b的第三个值
b 2 b2b2b2b2
b 4 b4b4
b 5 b5b5b5b5b5
*/

按照name分组获取最大(小)值.



欢迎大家随便接分,但不要仅仅回复mark,接分,顶.可以这么回复:

...全文
326 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
bancxc 2011-05-08
  • 打赏
  • 举报
回复
select * from tb a
where not exists (select 1 from tb where name=a.name and val>a.val)
----
select * from tb a
where val (select min(val) from tb where name=a.name)


999朵玫瑰 2011-05-08
  • 打赏
  • 举报
回复
没被和谐啊
dianyancao 2011-05-07
  • 打赏
  • 举报
回复
C4通往哪里?
laowang134 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 josy 的回复:]

[/Quote]
管理员来删!~
Oraclers 2011-05-07
  • 打赏
  • 举报
回复
select name,max(val) as MaxValue,min(val) as MinValue
from TB1
group by name
渔舟唱晚, 2011-05-07
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 wxf163 的回复:]

select T.name,T.val,T.memo from (
select A.*,row_number() over(partition by A.name order by A.val desc ) as row from TB as A
) AS T where T.row = 1


其实 我只是
丁页
扌妾 分

不 忄董
[/Quote]
王向飞 2011-05-07
  • 打赏
  • 举报
回复
select T.name,T.val,T.memo from (
select A.*,row_number() over(partition by A.name order by A.val desc ) as row from TB as A
) AS T where T.row = 1


其实 我只是
丁页
扌妾 分

不 忄董
王向飞 2011-05-07
  • 打赏
  • 举报
回复
丁页
扌妾 分

不 忄董

mabailin 2011-05-07
  • 打赏
  • 举报
回复
都厉害
  • 打赏
  • 举报
回复
回帖删除的厉害。。 不知抽什么风了
Rock_Wu 2011-05-07
  • 打赏
  • 举报
回复
路过,此分有危险,但是我还是要来

远远的声援
Rock_Wu 2011-05-07
  • 打赏
  • 举报
回复
我是来接分的
jshzp 2011-05-07
  • 打赏
  • 举报
回复
怎么回事呀?楼下的说说
冰凝 2011-05-07
  • 打赏
  • 举报
回复
那接点
tanwenshuo 2011-05-07
  • 打赏
  • 举报
回复
select T.name,T.val,T.memo from (
select A.*,row_number() over(partition by A.name order by A.val desc ) as row from TB as A
) AS T where T.row = 1
rnifeasy 2011-05-07
  • 打赏
  • 举报
回复
坐等~
看看山观观海 2011-05-07
  • 打赏
  • 举报
回复
select * from tb a
where not exists (select 1 from tb where name=a.name and val>a.val)
----
select * from tb a
where val (select min(val) from tb where name=a.name)


坐等接分啊
qgfudi 2011-05-07
  • 打赏
  • 举报
回复
select name,max(val),min(val) from 表 group by name
haosa 2011-05-07
  • 打赏
  • 举报
回复
select T.name,T.val,T.memo from (
select A.*,row_number() over(partition by A.name order by A.val desc ) as row from TB as A
) AS T where T.row = 1
windfeel2008 2011-05-07
  • 打赏
  • 举报
回复
呵呵,看不出大乌龟是个愤青啊
加载更多回复(17)

11,849

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧