帮个忙,Oracle问题

有一个表1,字段:lev,loginid表2,字段:userid,username,coins(消费金额),coinlev(消费等级)表1的loginid和表2的user... 有一个表1,字段:lev,loginid
表2, 字段:userid,username,coins(消费金额),coinlev(消费等级)
表1的loginid和表2的username 相同

计算lev为1的时候,coinlev 1-10级 的消费人数
lev为2的时候,coinlev 1-10级 的消费人数

我试了下,无法让数据唯一性
有图片

以下是我的程序:
select lev,coinlev, coins,counts from(
with a as
(select login_id,lev from tmpdata.sdo_level),
b as
(select UDUSERID,UDUSERNAME,coins,max(COINLEV) coinlev from tmpdata.SDO_COIN
group by UDUSERID,UDUSERNAME,coins
)
select lev,b.coinlev,coins,count(b.UDUSERID) counts from a,b
where a.login_id=b.UDUSERNAME
group by lev,b.coinlev,coins
order by lev,coinlev
)
展开
 我来答
loveyurui
2009-10-29 · TA获得超过6557个赞
知道大有可为答主
回答量:2892
采纳率:33%
帮助的人:1035万
展开全部
不明白为什么要用with as

select count(userid) from b where username in (
select loginid from a where lev=1) and coinlev between 1 and 10
union
select count(userid) from b where username in (
select loginid from a where lev=2) and coinlev between 1 and 10
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式