本文主要是介绍sql2000对查询结果分组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Group By 子句将查询结果表按某一列或多列值分组,值相等的为一组。分组的目的是为了细化集函数的作用对象,分组后集函数将作用于每一个组,即每一组都有一个函数值。
例30 求各个课程号及相应的选课人数
select cno, count(sno) '分组人数'
from sc
group by cno
具有相同cno值的元组为一组,然后对每一组作用集函数count计算,以求得该组的学生人数,查询结果如下:
如果分组后还要求按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,则可以用HAVING短语指定筛选条件。
例31 查询选修了3门以上课程的学生学号
select sno
from sc
group by sno
having count(*)>3
where子句与having短语的区别:在于作用对象不同。where子句作用于基本表或视图,从中选择满足条件的元组。having短语作用于组,从中选择满足条件的组。
这篇关于sql2000对查询结果分组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!