有如下表
姓名 分数 班级
甲    80    A
乙    50    A
丙    90    B现要查询出以下结果
人数  分数  班级
2     130   A
1     90    B请问查询语句要怎么写?

解决方案 »

  1.   


    with t as(
         select '甲' name,80 grade,'A' class_name from dual union all
         select '乙',50,'A' from dual union all
         select '丙',90,'B'from dual)
    select class_name,sum(grade),count(name)
    from t
    group by class_name;CLASS_NAME SUM(GRADE) COUNT(NAME)
    ---------- ---------- -----------
    A                 130           2
    B                  90           1
      

  2.   

    select count(*) 人数,
           sum(分数) 总分,
           班级
    from tb
    group by 班级