多语言展示
当前在线:580今日阅读:117今日分享:28

Sql Server 2008 Group by的使用方法

Sql语句中有很多技巧,一般除了我们初学时的增删改查,还有其他很多.那么我们今天就来教大家如何使用,查询语句中的Group by.
工具/原料

SqlServer 2008 R2

方法/步骤
2

你安装好之后在开始菜单里面找.找到之后可以创建一个快捷方式到桌面.我已经截图把位置告诉你了.

3

如果没什么问题的话,你点击连接就进去到数据库里面了.右键新建.

4

弹出这个对话框,按照图片中的设置.记得路径保存到其他盘,自己新建一个文件夹.放到C盘,如果数据库文件大了,会拖慢整个电脑的运行.

5

大家看我保存到这个文件夹下,就多了两个文件.我们所有关于这个数据库的操作,将来其实都是对这两个文件的操作.

6

在我们刚刚新建的数据库上点击右键查询,我们要用Sql语句创建一个表我们再写几条插入数据的数据.写上一个创建表的 sql语句.  当然,我们也可以用设计图创建.当然我下面的写法只支持sql server2008数据库以上的写法.create table Person(id int,name nvarchar(5),sex char(2),age int,job nvarchar(20));insert into Person (id,name,sex,age,job)values (1,'李小明','男',25,'C#程序员'),(2,'王小红','女',19,'学生'),(3,'李小明','男',22,'学生');

7

我们用一条查询语句,把刚才的数据都查询出来.select * from Person;可以看到图中所显示的数据.

8

那么我们现在就要使用group by这个语句了.这是一个分组的语句,我们先看一下它的写法.select name from Person group by name;

9

从上面的结果我们不难看出,我们根据姓名进行了分组.另一种说法其实就是把重复的过滤了.比如我数据库里面有50.这个字段group by就可以知道这50个人到底.我们上面的sql语句,其实是把第二列独立出来,并且把重复的过滤出去了.

10

我们再来写一个聚合函数.  字面意思就是把一些重复的东西聚集起来,并且显示出有多少个.select name,COUNT(*) from Person group by name;可以由下图很明显的得知聚合函数的意义和好处.

11

当然,我们还可以再给系统自己生成的列重新起个名字.select name,COUNT(*) as 统计 from Person group by name;

12

select name,COUNT(*) as 总人数,MAX(age) as 最大年龄,MIN(age)as 最小年龄,AVG (age) as 平均年龄,SUM(age) as 年龄综合from Person group by name;再来个更强大的功能.看看我们的sql语句.

13

当然,我们可以再里面增加几条数据,再加大家一个更强大的用法.大家也跟我一样,再增加几条数据.那么我们现在把姓名出现过2次或者2次以上的查询出来.

14

select name,COUNT(*) from Person group by name having COUNT(*)>=2;通过having和聚合函数的配合,我们就得到了想要的结果.

15

其他更强大的sql语句写法,我们在下一篇中介绍学习.

推荐信息