十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果是分别显示,可以写成两条语句:
我们拥有十余年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都网站建设、网站建设、微信开发、微信小程序定制开发、移动网站建设、HTML5建站、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。
select
avg(salary),deptno
from
a
group
by
deptno;
select
avg(salary),companyno
from
a
group
by
companyno;
如果需要用一条SQL实现,使用CUBE函数:
select
avg(salary),deptno,companyno
from
a
group
by
cube(deptno,companyno);
你写的有问题
select b.PROVCOMNAME,to_char(a.SIGNDATE,'yyyy-mm'),sum(a.PREMUIM)
from DM_PAYEVENT a,D_MANAGECOM b
where a.MANAGECOMID = b.MANAGECOMID
group by b.PROVCOMNAME,to_char(a.SIGNDATE,'yyyy-mm')
Oracle Select语句的作用是在表单中查询数据,本文将为大家带来Select语句的详细用法介绍。
SELECT语句使用方法
在Oracle中,表是由列和行组成。 例如,示例数据库中的customers表具有以下列:customer_id,name,address,website和credit_limit。customers表中这些列中也有对应的数据。
要从表的一个或多个列(column_1,column_2,…,column_n)中检索数据,请使用以下语法的SELECT语句:
在这个SELECT语句中:
首先,需要指定要查询数据的表名。
其次,指定想要返回数据的列。 如果需要返回多个列,则需要用逗号(,)将这些列分隔。
注意,SELECT语句非常复杂,由许多子句组成,如ORDER BY,GROUP BY,HAVING,JOIN。 为了简单起见,在本教程中,我们只关注SELECT和FROM子句的用法。
教程来源:树懒学堂_一站式数据知识平台_Oracle Select语句
既然表1是末级数据,那么可以从这个数据中截取出上级的代码,可以先截取,形成新的视图,然后再利用rollup分组,最后在和b表关联,就能得到C了。
类似:select acc_1,acc_2,acc_3,acc_4,acc_5,acc_code,sum(qmjf)(select substr(acc_code,1,4) acc_1,substr(acc_code,1,7) acc_2,substr(acc_code,1,9) acc_3,substr(acc_code,1,11)acc_4,substr(acc_code,1,13) acc_5,acc_code,qmjf from 表1) a group by rollup(acc_code,acc_5,acc_4,acc_3,acc_2,acc_1)
直接用截取分组应该也可以,不过这个就要去尝试了,我这里没有环境测试啊,这个就要靠你自己了。上面的语句也不一定对(比如如果没有5002,那么acc_1那个不截取也可以),我只是写个意思啊。
至于页面上的显示,java判断一下,acc_5有内容就显示这个,要么就判断acc_4,然后一直判断到acc_1。
如果非要展示在一列里面,那么只能是分别查询然后union all了。
类似:
select substr(acc_code,1,4),sum(qmjf) from table group by substr(acc_code,1,4)
union all
select substr(acc_code,1,7),sum(qmjf) from table group by substr(acc_code,1,7)
union all
。。。。。。写完你需要的
然后再去关联B表,或者写的时候直接写上。不过这个要group by N遍表。估计执行计划会吓死人的。虽然上一个也不怎么样,但是好歹是一个语句。