我的SQL语句如下:
SELECT  区域,校名,AVG(学分) AS 平均学分  FROM  学生 WHERE 学分>100
GROUP BY 区域,校名
ORDER BY 校名结果是:(字段分别是区域,校名,平均学分)
东北 华东理工大学             355.0
东北 华东师范大学             540.0
     兰州大学                 318.0
西北 兰州大学                 349.0
东南 南京邮电学院             247.0
华东 上海工程技术大学         388.0
东南 上海交通大学             356.0
     上海师范大学             251.0
西南 上海戏剧学院             255.0
西北 石河子大学               355.0
东南 同济大学                 266.0
西北 西安交通大学             298.0
     西南石油学院             270.0
西北 新疆大学                 268.0
西北 新疆师范大学             298.0
西南 重庆大学                 356.0
可是结果中为什么没有按照区域进行分组呢?我的意思是应该是区域相同的数据行在一起。这里怎么解释??请高手指点,谢谢

解决方案 »

  1.   

    SELECT  区域,校名,AVG(学分) AS 平均学分  FROM  学生 WHERE 学分>100
    GROUP BY 区域,校名
    ORDER BY 区域,校名
      

  2.   

    SELECT  区域,校名,AVG(学分) AS 平均学分  FROM  学生 WHERE 学分>100
    GROUP BY 区域,校名
    ORDER BY 区域,校名
      

  3.   

    因为你是通过区域,校名两个列分组的
    分组的意思是通过分组条件汇总,而不是排序如果你需要地区相同的放在一起,可以这样写
    SELECT  区域,校名,AVG(学分) AS 平均学分  FROM  学生 WHERE 学分>100
    GROUP BY 区域,校名
    ORDER BY 区域,校名
      

  4.   

    那就ORDER BY 区域,学校   就行了
      

  5.   

    你的order 限制了  校名 在一块的了
    改一下order ORDER BY 区域
      

  6.   

    出在排序的问题上 
    用 order by  区域,校名
      

  7.   

    SELECT  区域,校名,AVG(学分) AS 平均学分  FROM  学生 WHERE 学分>100
    GROUP BY 区域,校名
    ORDER BY 区域,校名