oyzj642 2012-07-09 17:53 采纳率: 0%
浏览 309
已采纳

如何写Oracle分组查询语句

如何写Oracle分组查询语句:
商品类型表(goodsType):类型编号(id)、类型名称(typeName)

进货表(buyInfo):进货单编号(Id)、类型编号(goodsTypeId)、商品名(goodsName)、数量(goodsNum)、进货日期(buyDate)、进货人(buyMan)、供应商(supplier)、单价(price)、总价(totlePrice)

想分别根据商品类型或者进货人分组统计查询得到:商品类型、商品名称、商品数量以及商品总数量。


例如:根据商品类型

商品类型  商品名称  数量    sum(goodsnum)
  电脑      联想     10
  电脑      戴尔     10          30
  电脑      宏基     10
  手机      苹果     20
  手机      诺基亚   10          35
  手机      摩托罗拉 
  相机       三星     10         10



第二种:根据进货人
进货人     进货类型    商品名称     商品数量    sum(goodsnum)
张三        电脑       IBM           20
张三        电脑       戴尔          10   
张三        相机       三星          20            80
张三        手机       苹果          10
张三        U盘       朗科          20  
李四        电脑       IBM           20
李四        电脑       戴尔          10   
李四        相机       三星          20            80
李四        手机       苹果          10
李四        U盘       朗科          20   
下面这个文件里有两张表,

还有,就是能不能直接根据商品类型或者进货人或者日期排序查询得到所有的信息,我试了,只有商品类型可以,应为他有对应的Id号,但是如何根据进货人分组查询呢?

  • 写回答

3条回答 默认 最新

  • works001 2012-07-09 21:16
    关注

    对于第一个:
    [code="java"]
    select g.typeName,t.goodsname,t.goodsNum,t.sum
    from (select goodsTypeId,goodsname, goodsNum,sum(goodsnum) over(partition by goodsTypeId) sum from buyinfo) t inner join goodsType g
    on g.id=t.goodsTypeId
    [/code]

    对于第2个:
    [code="java"]
    select t.buyMan, g.typename, t.goodsName, t.goodsNum, t.sum
    from (select buyMan,
    goodsTypeId,
    goodsName,
    goodsNum,
    sum(goodsnum) over(partition by buyMan) sum
    from buyInfo)t inner
    join goodsType g on g.id = t.goodsTypeId
    [/code]
    主要用了oracle的开窗函数 over(partition by 。。。)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题