新手问题 找某字段最大值所在行的其他字段信息

良辰2635 2018-03-13 12:10:40
表a
aa bb cc
1 15 22
2 55 33
5 13 35

想实现bb字段最大值所在行的各字段信息。
我做的是
select aa,bb,cc
from a
where bb=max(bb);不知道错在哪里了

期望结果是:
aa bb cc
2 55 33
...全文
632 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 版主 2018-03-13
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#a') is null
drop table #a
Go
Create table #a([aa] int,[bb] int,[cc] int)
Insert #a
select 1,15,22 union all
select 2,55,33 union all
select 5,13,35
Go
--测试数据结束
SELECT aa,bb,cc
FROM ( SELECT * ,
ROW_NUMBER() OVER ( ORDER BY bb DESC ) rn
FROM #a
) t
WHERE t.rn = 1


吉普赛的歌 版主 2018-03-13
  • 打赏
  • 举报
回复
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL DROP TABLE t
GO
CREATE TABLE t(aa int,bb int,cc int)
INSERT INTO t
SELECT 1,15,22
UNION ALL SELECT 2,55,33
UNION ALL SELECT 5,13,35

--两种都可以
--1.
SELECT * FROM t AS a WHERE NOT EXISTS(
	SELECT 1 FROM t AS b WHERE b.bb>a.bb 
)
--2.
SELECT * FROM t WHERE bb=(SELECT MAX(bb) FROM t)
/*
aa	bb	cc
2	55	33
*/
zbdzjx 2018-03-13
  • 打赏
  • 举报
回复
where bb in (select max (bb) from a) 另,括号要用英文的括号,不要用中文的括号。
早起晚睡 2018-03-13
  • 打赏
  • 举报
回复
又被别人抢了
吉普赛的歌 版主 2018-03-13
  • 打赏
  • 举报
回复
引用 4 楼 qq_41710651 的回复:
万能的csdn,各位8点上班几分钟就帮我解决了,谢谢。
没事就结贴吧
良辰2635 2018-03-13
  • 打赏
  • 举报
回复
万能的csdn,各位8点上班几分钟就帮我解决了,谢谢。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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