在查询时经常会用到group子句,但对group by的作用了解得并不清楚。查了一些资料,在这里记一记。
测试语句
select age,count(*) from s group by age having count(*);
建表
。。。。
插入数据,最后这个表中的数据
使用group by语句,是在按group by后指定的列名分组,比如这如果按照age分组,那么分组后,就是年龄为18的一组,年龄19 的为一组。出现在select 后面的参数,必须是group by中使用的参数(age)或者聚集函数[count(*),sum(age),sum(s#)]等,不能是其他参数(比如s#).意思是按照年龄为分组,查询在这个是这个年龄得组别里面的人的年龄或在这个年龄组内所有人的年龄和等。
having子句,指定选择分组后选择的条件
select age,count(*) from s group by age having count(*)>5如select age,count(*) from s group by age having count(*)>2;--表示在对表s按照年龄进行分组后,输出年龄分组中的记录数(即人数)大于2的年龄以及人数
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29227735/viewspace-1066961/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29227735/viewspace-1066961/