Oracle在一个表里,根据字段一相同的,字段二平均数。数据量挺大的,做一次统计,可以不考虑执行效率。
如table
 字段一     字段二
  1           8
  1           6
  13          14
  13          2
  ·          ·
  ·          ·
  999         7
  999         5
  统计出字段一相同的,字段二的平均数。得出结果如:
 字段一     字段二
  1           7
  13          8
  
  ·          ·
  ·          ·
  999         6
 
 非常感谢!系统限死,只能给100分。麻烦大神了。sqlOracle

解决方案 »

  1.   

    WITH T AS
     (SELECT 1 ID, 2 SCORE
        FROM DUAL
      UNION ALL
      SELECT 1, 4
        FROM DUAL
      UNION ALL
      SELECT 10, 5
        FROM DUAL
      UNION ALL
      SELECT 11, 2 FROM DUAL)
    SELECT ID, S_SUM / CNT
      FROM (SELECT ID, SUM(SCORE) S_SUM, COUNT(ID) CNT FROM T GROUP BY ID)
     ORDER BY ID;
      

  2.   

    难道用avg不行么select c1,avg(c2) c2
    from table
    group by c1
    order by c1
      

  3.   

    SELECT   字段1, AVG (字段2) vagval
        FROM   table1
    GROUP BY   字段1
    ORDER BY   字段1;
      

  4.   

    select t.c1,avg(t.c2) from t group by t.c1 order by t.c1;
      

  5.   

    求平均数不是聚组函数avg的基本功能么select a,avg(b) b from table group by b order by b