十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你本身思路都有问题,如按你说的意思,你根本都不需要用使用group by rollup
创新互联建站专注于中大型企业的成都做网站、成都网站设计和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户近千家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注品牌网站制作和互联网程序开发,在前进的路上,与客户一起成长!
你实际上是想分组时间和分组城市得到相关的平均值。你不须要用到起各城市和各时间的小计和总计:
select
city_id,
nvl(city_name,'全省') as city_name,
scan_start_time,
avg(wcsr), avg(prr), avg(cetrfk), avg(fpat)
from Region_Resource
group by scan_start_time,city_id,city_name;
这句SQL都能得到你想要的数据。
另外对rollup、grouping、having grouping_id个人理解为:
grouping 只能有一个参数,判断该行是数据库中本来的,还是由统计产生的。为0表示是数据库本来的,为1是统计的
group by rollup(a,b,c) 最后得到的结果为(a,b,c), (a,b), (a),()
可以使用having grouping_id子句过滤记录 having子句可以将不包含小计或总计的记录除去,通过grouping_id()的返回值,看其是否大于零就可以来判断实现
oracle中行求和直接用加法即可。
test表数据如下:
如果将maths、chinese、english列的分数求和,可用如下语句:
select id,name,maths,chinese,english,maths+chinese+english as sumscore from test;
结果:
你试试
Select o.org_desc || '_' || i.b_company x,
i.trade_time,
i.cust_name,
i.order_id,
sum(i.suc_amount) over(partition by o.org_desc || '_' || i.b_company),
i.plug_id,
i.b_company,
sum(i.suc_amount) over()
from t_ec_trade_info i, t_ec_org_mapping o
where i.b_company = o.org_biz_numb
and (i.b_company is not null)
order by i.b_company desc
可以通过district来取出字段,之后通过count计算总数量。
sql:select count(district id) from tablename;
如果id字段没有空值的话,可以通过count统计字段的总数量(字段内容可能重复)。
sql:select count(id) from tablename;
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语句