超难的SQL语句怎么写

表结构如下:namwmonthmoney张三1月10张三2月14张三3月12张三4月17李四3月10李四4月13李四5月16我想查出每人最大的那个月份的金额forburs... 表结构如下:
namw month money
张三 1月 10
张三 2月 14
张三 3月 12
张三 4月 17
李四 3月 10
李四 4月 13
李四 5月 16

我想查出每人最大的那个月份的金额
for burscard :
没看懂,能否说明白一点,谢谢
展开
 我来答
如意又婉丽的雪花N
2007-12-27 · TA获得超过1213个赞
知道小有建树答主
回答量:630
采纳率:0%
帮助的人:1027万
展开全部
二楼burscard的思路不错,但还有一点瑕疵,就是原表的月份字段是字符串型,直接比大小是得不到正确的顺序,比如1月,4月,11月,最大值本应该是11月,如果直接比大小的话,那么求出的最大值是4月,所以在比大小之前还需要转换一下月份字段的类型.

完善以后的代码如下:
select * from 表 a where not exists (select * from 表 where namw = a.namw and convert(int,replace([month],'月','')) > convert(int,replace(a.[month],'月','')))
百度网友35788a8fb
2007-12-27 · TA获得超过1583个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:0
展开全部
SELECT name, max( money )
FROM `表`
GROUP BY name
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
burscard
2007-12-27 · TA获得超过375个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:0
展开全部
楼上的看错了,不是求做大money而是最大month,应该是:
select * from 表 a where not exists (select 1 from 表 where namw = a.namw and month > a.month)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式