oracle中统计某个字段重复数,并将重复条目的另一个字段求和
表名ab_cdmatchidbuynocost010001100.2010002100.3020003100.5030004100030005100030006100我要...
表名 ab_cd
matchid buyno cost
01 0001 100.2
01 0002 100.3
02 0003 100.5
03 0004 100
03 0005 100
03 0006 100
我要得到的结果是
(count代表同一matchid下有多少个buyno或者说是matchid的重复数目, costm代表同一matchid的下的cost之和)
matchid count costm
01 2 200.5
02 1 100.5
03 3 300
请用oracle语句! 展开
matchid buyno cost
01 0001 100.2
01 0002 100.3
02 0003 100.5
03 0004 100
03 0005 100
03 0006 100
我要得到的结果是
(count代表同一matchid下有多少个buyno或者说是matchid的重复数目, costm代表同一matchid的下的cost之和)
matchid count costm
01 2 200.5
02 1 100.5
03 3 300
请用oracle语句! 展开
6个回答
展开全部
实际上题目考察的就是分组求和。可以通过sum进行求和,count进行数值计算,通过group by进行分组。
sql:select username ,count(accountNo) as count,sum(amount) as amount
from tablename group by username;
以上就可以求出username下,accountNo的条数和对应的总amount。
sql:select username ,count(accountNo) as count,sum(amount) as amount
from tablename group by username;
以上就可以求出username下,accountNo的条数和对应的总amount。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select matchid,count(buyno) as count,sum(cost) as costm
from ab_cd
group by matchid
根据id分组 取出同一id的buyno数量 再取出 同一id的 cost总和 基本如此了...
from ab_cd
group by matchid
根据id分组 取出同一id的buyno数量 再取出 同一id的 cost总和 基本如此了...
追问
我在综合查询的时候 涉及到2个主表, 然后查出的结果有完全重复的行
怎么在显示的时候同时删除那些重复的行 只保留1行
追答
你查询的那个列加上distinct 列名 from tab
我记得以前写过在条件里面加 distinct 好久没写过了 忘了... //屏蔽查询出的数据,出现重复的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT matchid, count(buyno) count, sum(cost) costm
from ab_cd
group by matchid
其中ab_cd
count(buyno) 换成count(*)或count(1)都是可以的
from ab_cd
group by matchid
其中ab_cd
count(buyno) 换成count(*)或count(1)都是可以的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT matchid, count(buyno), sum(cost)
from ab_cd
group by matchid
from ab_cd
group by matchid
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询