select price,subtotal,name
from yourtable
compute avg(price),sum(subtotal) by name

解决方案 »

  1.   

    select price,subtotal,name
    from yourtable
    order by name
    compute avg(price),sum(subtotal) by name
      

  2.   

    谢谢!一个结果集可以吗?
    sum(subtotal)是销量,我要总销售价值。
    聚合函数我不太会用
      

  3.   

    不好意思,我的表应该是这样的
    price(价格)        subtotal(销量)    name(名称)
    23.00                  877889              w
    22.00                  77887               w
    21.00                  86666               w
      

  4.   

    不知道你的平均价格是怎样计算的,
    是(23.00+22.00+21.00)/3,还是(23*877889+22.00*77887+21.00*86666)/(877889+77887+86666)
    下面这个语句是对于平均价格的计算是第一种情况的
    SELECT name,SUM(price*subtotal) AS 总销售价值,AVG(price) GROUP BY NAME
      

  5.   

    这是第二中计算方法的SQL语句
    SELECT name,SUM(price*subtotal) AS 总销售价值,SUM(price*subtotal)/SUM(subtotal) AS 平均价格 GROUP BY NAME
      

  6.   

    to:blp(★★★) 嗯,我糊涂,是第二种情况
    我的表中就只有三条记录。你的这个语句,产生一条纪录(我的表数据最初的有错,靠下面的一点才是队的),我想要三条或者多条含有“w”的纪录,
    同时,还要在一个结果集中处理平均值,总销售价值
      

  7.   

    select price,subtotal,name
    from yourtable
    order by name
    compute avg(price),SUM(price*subtotal)
      

  8.   

    OpenVMS(半知半解) :
    你好!
    (sql server 2000)报告“选择列表中不存在第 1 条 COMPUTE 子句的第 2 个聚合表达式”。
    怎么我的总是不行呢?
      

  9.   

    能不能就用一个结果集构造出>=3条的纪录呢?是不是用了compute 后,如果对被选择字段用了聚合函数就必须用group by 呢?`
      

  10.   

    to:OpenVMS(半知半解) 抱歉,这两天没来这儿。
    感谢您热心的回答!
    按您最后一个sql语句,得出的是两个结果集,如果我要一个结果集,可不可以办到,这时候可能结果集不止3条纪录(我的表现有三条记录)?另外,如果两个结果集怎么通过程序(比如用asp通过odbc连接)读取呢?处理方式是不是还和以前相同?
      

  11.   

    求产品的平均售价:
    select name, sum(price*subtotal)/sum(subtotal)
    from yourtable
    group by name
      

  12.   

    Compute子句和Group by子句的区别:
        通过使用Group By 子句只能产生一个结果集。针对分类分出的每一类数据只能产生一个结果,包括分类的列和进行统计计算的列。在使用了Group By 子句的SELECT字句中始终只能包含分类所需的列和进行统计计算的列。
        COMPUTE子句可以返回多中结果集。一种是体现数据细节的每一行数据,并可以按分类要求进行正确的分类;另一种结果是在分类基础上进行求和统计运算。在使用COMPUTE子句的SELECT句子中可以包含除分类所需的列和统计计算列以外的其他列。
        注意,在compute子句中order by的用途。
        在ASP中调两个结果集可能比较困难,你可以在group by(一个结果集)的基础上用游标实现。