SQL Server2008的安装,SQLServer2008的安装......
2023-02-22 208 安装
Sql语句中有很多技巧,一般除了我们初学时的增删改查,还有其他很多.
那么我们今天就来教大家如何使用,查询语句中的Group by的高级语法.
初级用法的话,大家可以看一下我其他经验中的一篇.
sql server 2008 Group by的使用方法
我的电脑是Windows7 64位,所以我安装的是Sql server2008 r2(64位).
大伙安装的时候也一定要记得看一下自己的操作系统是多少位.你是32位操作系统的就安装32位的Sqlserver 版本不限制. 2005 2012都可以.
当然,我们的Sql语句在很多数据库中都是通用的,比如像Mysql数据库 Access数据库. Oracle数据库. Sqlite数据库 .甚至在我们的Excel中也可以使用Sql语句.
2废话不多说,在我的Sqlserver中新建一个表和一些数据,方便我们学习后面的Group by语句. 如果你是其他数据库也是这个道理. 我用的是微软Sqlserver数据库.
3写上一个创建表的 sql语句. 当然,我们也可以用设计图创建.
当然我下面的写法只支持sql server2008数据库以上的写法.
create table student
(
stuid int identity(1,1) not null,
stuname nvarchar(10) not null,
stusex char(2) not null,
stuage int null);
insert into student (stuname,stusex,stuage)
values
('李小明','男',25),
('王小红','女',19),
('赵大虎','男',20),
('李小明','男',22),
('钱小多','男',23),
('刘小梅','女',25);
4
select * from student;
我们输入一条查询语句,显示出我们刚刚插入的所有数据.
5
那么我们再来查一下姓名各出现过多少次.
select stuname,COUNT(*) from student group by stuname;
从上面的结果我们不难看出,我们根据学生姓名进行了分组.
另一种说法其实就是把重复的过滤了.
把学生表中的姓名那一列用group by分组,并且利用聚合函数(count)统计每个姓名出现的次数.
6
我们再来创建一个表,为了方便大家学习理解,我就用中文了.
强大的Sqlserver2008是可以支持中文的.
create table 订单表(订单id int identity(1,1) not null,产品id int not null,用户id int not null,单价 money not null,数量 int not null,折扣 numeric(4,3) not null);
insert into 订单表(产品id,用户id,单价,数量,折扣)values(1,1,19.5,11,0.75),(2,2,20,4,0.85),(2,1,20,9,0.85),(3,2,10,1,1),(1,3,19.5,3,0.75),(1,4,19.5,2,0.75),(1,5,19.5,14,0.75);
7
我们显示一下表中的数据.
select * from 订单表;
在我们实际开发中,可能我们设计了一个商品订单管理系统.
但是客户要我们显示什么数据,他可能对你说:"我要你给我打印什么东西."
这是一个非常复杂的过程,但是他认为这就是一句话的事情.
8
我们现在来考虑一个实际的问题,我现在要查询各个商品售出多少件!!
select 产品id,SUM(数量) from 订单表 group by 产品id;
这条sql语句也挺有难度的. 我们通过这样子就能算出某个产品的销售总数量.
9
select 产品id,SUM(数量) as 销售总量 from 订单表 group by 产品id;
当然,我们还可以通过as关键字来修改查询新字段的名称.
10
我们来个更有挑战性的,查询所有产品的总销售价格大于100元的产品.
首先我们要知道一个产品的价格等于
商品数量*单价*折扣.
select 产品id,SUM(单价*数量*折扣) AS 商品总销售金额 from 订单表 group by 产品idhaving SUM(单价*数量*折扣)>100;这样就得出了我们想要的结果.
11
select 用户id,SUM (单价*数量*折扣) as 消费金额 from 订单表 group by 用户id;那么我们就要写最后一个案例了,统计用户一共花了多少钱.
12
order by的用法我们就说到这里.
接下来我们会分享更多的SQL语句的高级语法.
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章