假设table名称为t1,如要把(B-A)/B的结果赋给C,则用下面语句:
西湖ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
update t1 set C=(B-A)/B;
如要经过条件筛选更新,则可定义一个游标,逐条处理。
select (select count(*) as a from...)/(select count(*) as b from...
) from dual
1、 在计算机中,打开Oracle的连接程序,用新建的数据库管理员,选择【SQL工作表】。
2、 接着,在【Oracle服务器】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,可以看到表格当前的数据。
3、 然后,在【SQL工作表】的窗口上,输入取子串函数的SQL语句,可以作为参考。
4、接着,在【SQL工作表】的窗口上,输入取子串函数的SQL语句,并单击【执行】按钮。
5、 然后,在【SQL工作表】的窗口上,可以看到表格显示的数据。
6、最后,在【SQL工作表】的窗口上,修改取子串函数的参数,执行SQL语句,就完成了。
什么是整除?如果是5/3那么得数应该是1,你要的是1吧。
直接trunc就可以,如果还要余数,那么就是5%3就可以了。
要么写子查询,要么无法引用别名字段
只能这样
select t.area,
count(*),
sum(case when t1.cust_flag=1 then 1 else 0 end),
sum(case when t1.cust_flag1 then 1 else 0 end),
sum(case when t1.is_conn=1 then 1 else 0 end),
sum(case when t1.is_conn=1 and t1.cust_flag=1 then 1 else 0 end),
sum(case when t1.is_conn=1 and t1.cust_flag1 then 1 else 0 end),
sum(case when t.sales_results='Y' then 1 else 0 end),
round(sum(case when t1.is_conn=1 and t1.cust_flag1 then 1 else 0 end)/sum(case when t.sales_results='Y' then 1 else 0 end),2)--就这样,直接相除,我这里四舍五入保留了两位小数
from tbl_sp_records t,
left join tbl_hb_ccup t1
on t1.serial_number=t.mobile_tele_no
where t.area like '07%' or t.area like '00%'
group by t.area