超难的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 :
没看懂,能否说明白一点,谢谢 展开
namw month money
张三 1月 10
张三 2月 14
张三 3月 12
张三 4月 17
李四 3月 10
李四 4月 13
李四 5月 16
我想查出每人最大的那个月份的金额
for burscard :
没看懂,能否说明白一点,谢谢 展开
3个回答
展开全部
二楼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],'月','')))
完善以后的代码如下:
select * from 表 a where not exists (select * from 表 where namw = a.namw and convert(int,replace([month],'月','')) > convert(int,replace(a.[month],'月','')))
展开全部
SELECT name, max( money )
FROM `表`
GROUP BY name
FROM `表`
GROUP BY name
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的看错了,不是求做大money而是最大month,应该是:
select * from 表 a where not exists (select 1 from 表 where namw = a.namw and month > a.month)
select * from 表 a where not exists (select 1 from 表 where namw = a.namw and month > a.month)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询