Sql 如何使用oracle统计商品的销售额、城市、客户
我有一个甲骨文的看法,并包括销售商品的细节。它是这样的: OrderId OrderDetailId GoodsId GoodsName UnitName销售数量价格客户名称国家/城市 我想要一个SQL语句来统计销售、城市数量、每种商品的客户数量。结果应该是这样的: GoodsId GoodsName销售数量(单位名称)城市数量客户数量Sql 如何使用oracle统计商品的销售额、城市、客户,sql,oracle,Sql,Oracle,我有一个甲骨文的看法,并包括销售商品的细节。它是这样的: OrderId OrderDetailId GoodsId GoodsName UnitName销售数量价格客户名称国家/城市 我想要一个SQL语句来统计销售、城市数量、每种商品的客户数量。结果应该是这样的: GoodsId GoodsName销售数量(单位名称)城市数量客户数量 如何编写sql统计语句?谢谢 只需使用分组方式 select GoodsId, GoodsName, UnitName, sum(SalesQt
如何编写sql统计语句?谢谢 只需使用
分组方式
select GoodsId, GoodsName, UnitName,
sum(SalesQty) SalesQty,
count(distinct City) CityQty,
count(distinct CustomerName) CustomerQty
from goods_view
group by GoodsId, GoodsName, UnitName
您可以使用
多维数据集
,也包括数量的小计和总计:
select GoodsId, GoodsName||'('||UnitName||')' GoodsName,
sum(SalesQty) SalesQty, count(distinct City) CityQty, count(distinct CustomerName) CustomerQty
from v_goods
group by cube(GoodsId, GoodsName||'('||UnitName||')')
order by GoodsId,GoodsName||'('||UnitName||')';
我认为最后一行的
CityQty
应该是一,而CustomerQty
应该是二。@RadimBača是的,你是对的,我弄错了好的,我不知道使用不同的计数。您的回答是正确的,谢谢。@Net205不客气,我想您需要统计总数。顺便说一下,我已经编辑了答案,将单位名称包含在并列中,建议您在数据库中尝试。
select GoodsId, GoodsName, UnitName,
sum(SalesQty) SalesQty,
count(distinct City) CityQty,
count(distinct CustomerName) CustomerQty
from goods_view
group by GoodsId, GoodsName, UnitName
select GoodsId, GoodsName||'('||UnitName||')' GoodsName,
sum(SalesQty) SalesQty, count(distinct City) CityQty, count(distinct CustomerName) CustomerQty
from v_goods
group by cube(GoodsId, GoodsName||'('||UnitName||')')
order by GoodsId,GoodsName||'('||UnitName||')';