问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL 根据两列取最大值求和

发布网友 发布时间:2022-04-11 08:31

我来回答

2个回答

热心网友 时间:2022-04-11 10:01

create table _20131118
(
   "金额" number,
   "年" varchar2(4),
   "月" varchar2(2)
);

insert into _20131118
select 32000,'2011','10' from al
union all
select 63000,'2011','11' from al
union all
select 55000,'2011','12' from al
union all
select 73000,'2012','10' from al
union all
select 84500,'2012','11' from al
union all
select 96000,'2012','12' from al
union all
select 75000,'2013','8' from al
union all
select 89000,'2013','9' from al
union all
select 65500,'2013','10' from al;

select sum(金额) 总额
from (select row_number()over(partition by 年 order by 金额 desc)rn,t.* from _20131118 t)tab
where rn=1

结果:
总额
248000

select sum(sm)总额 from (select distinct max(金额)over(partition by 年 order by 年)sm from _20131118)t;

结果:
总额
248000

追问不对啊,结果应该是216500啊 而且我用你第二条语句的时候 在SQL 08 R2下报错,提示 'order' 附近有语法错误

追答

哦  我看错你的问题了 我以为是按金额最大的呢,那个月是什么类型的,是数字类型么,如果不是要进行类型转换,上面第二句是oracle的写法呢。

如果你是sqlserver的话这样写

select sum(金额) 总额
from (select row_number()over(partition by 年 order by convert(int,月) desc)rn,t.* from _20131118 t)tab
where rn=1

如果你是oracle的话这样写

select sum(金额) 总额
from (select row_number()over(partition by 年 order by to_number(月,'999999') desc)rn,t.* from _20131118 t)tab
where rn=1

热心网友 时间:2022-04-11 11:19

第一,没说什么数据库

第二,年月两个字段类型

 

暂且按sqlserver,年月字段都是字符来

select * from 表名 
where 年+'00'+left(月,2)
in
select max(年+'00'+left(月,2)) from 表名 group by 年

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
武汉民政职业学院地址在哪里 全国有哪些民政学院 武汉民政学院 北京哪些区较好 北京哪个区环境好 北京海淀区属于什么档次 北京市哪个区最好 北京哪个区房子最好 递延是什么意思通俗 婚后是不是一定要自己买房子才可以结婚呢? 六一儿童节时钢笔字比赛写一些什么内容 急!!! 有关尊敬老师的成语,歌曲,诗词,电影 前几年*一台播过一个电视剧,就是讲高中的事。然后电视剧的音乐里有一句歌词,亲爱的老师再见 作文:再见了亲爱的老师,你想到哪个老师?有什么事情浮出脑海?想对老师说什么? 有一部动漫!男主角和他的5位老师生活在一起! 感谢老师的祝福语句 各位高手,恳求帮帮忙。。 热的电饭锅可以用冷水洗吗 sql 查询取字段值进行比较 笔记本电脑屏幕竖着了怎么办 51好信插的征信,跟人民银行查的征信是不是一样的 没有征信记录,查看征信记录会留下记录吗 银行查我的征信报告之后,必然会留下查询记录吗??会不会到底 十分好信可以查征信吗 如何用SQL语句比较两个表 特定的值的大小 胃病为什么会每天晚上都犯疼? 胃疼晚上反复发作?是什么原因? 晚上总有胃疼是什么原因 晚上胃疼是怎么回事,莫一天疼,莫一天不疼 如何转变工作作风,提高执行力,适应本职工作 水浒传第四十六回梗概 水浒传46回人物性格概括 水浒传第46回印象最深的人物?对他的赏析? 水浒传1-4回感受,4-8回感受以此类推到57-60回。 水浒传第四十六回概括 SQL server 中怎么取多列的最大值 哪有上海世博会湖南馆高清效果图下载 谁能给我这张图片 求这张图片的背景图 在线等 急求!!! 旧社会背景 在哪里? 有谁知道这张照片的背景图地点在哪吗? 金在中背景图片 ipad平板电脑没有sd卡怎么设怎么导入电话号码 如何用ipad直接查手机号码 iPad手机号码如何查询 IPAD忘记本机号码了怎么半 芎字怎么读 芎这个字读什么? 芎这个字怎么读 芎这个字读什么?参