SQL语言基础(3)
GROUP BY子句
指定查询结果的分组条件
语法:GROUP BY [ALL] group_by_expression_r_r [,n]
[WITH{CUBE|ROLLUP}]
group_by_expression_r_r指明分组条件,通常是一个列名,但不能是列的别名。
ALL返回所有查询结果的组合。如果没有满足where子句的数据则由NULL值构成数据。ALL的选项不能与cube或rollup选项同时使用。
cube:除了返回由GROUP BY指定的列外,还返回按组统计的行。返回结果先按第一个条件列排序显示,再按第二个条件列排序显示,以此类推。统计列包括了各种组合的数据统计。
rollup:对GROUP BY中列的顺序敏感,只返回第一个分组条件指定的列的统计行,改变列的顺序会使返回的结果的行数发生变化。
注意使用group by子句时后面的变量要和select后相一致,没有包含在聚合函数中的变量都应该作为group by后的变量。
HAVING 子句指定分组搜索条件。通常和group by一起使用
HAVING子句和WHERE很相似,但WHERE子句作用于表和视图,HAVING子句作用于组。
SELECT DEPT_ID,COUNT(*)
from EMPLYEE
WHERE E_WAGE>=6000
GROUP BY DEPT_ID
HAVING COUNT(*)>1;其中COUNT(*)表示满足条件的元素个数。
ORDER BY子句,指定查询结果的排序方式,默认升序ASC降序DESC
查询工资最高的三名员工
select top 3 e_name,e_wage
from employee
order by e_wage desc;
compute子句:在查询结尾的末尾生成一个汇总数据行。
compute{{AVG|COUNT|MAX|MIN|SUM} (expression_r_r [...,n]) [by expression_r_r[...,n]]}这些函数会忽略NULL值,并且DISTINCT选项不能在此使用。
expression_r_r必须包含在select的选项里,并且不能使用别名。
by expression_r_r在查询结果中生成分类统计的行,如果使用,必须使用order by子句,expression_r_r对应order by子句的一部分或全集。
如:select 员工姓名,所属部门,工资
from 员工数据表
order by 所属部门
compute sum(工资) by 所属部门
结果会出现在每个所属部门分组后有一个计算sum的行
聚合函数:AVG,SUM,MIN,MAX,COUNT
COUNT(*)计算表中的行数,一样的都计算上。COUNT(DISTINCT)计算不同的行数
汇总函数忽略NULL值。
以上几个子句中数据类型不能为text,ntext,image或bit类型。
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
首先:分离数据库
企业管理器--右键suspect的数据库--所有任务--分离数据库然后备份你的suspect数据库的文件,再按下面的步骤处理:
1.新建一个同名的数据库
2.再停掉sql server
3.用suspect数据库的文件覆盖掉这个新建的同名数据库
4.再重启sql server
5.此时打开企业管理器时新建的同名数据库会出现置疑,先不 ......
SQL Server在安装到服务器上后,由于出于服务器安全的需要,所以需要屏蔽掉所有不使用的端口,只开放必须使用的端口。下面就来介绍下SQL Server 2008中使用的端口有哪些:
首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口。这个端口是可以修改的,在&ldqu ......
group by
在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by ......
from子句指定需要进行数据查询的表,视图等数据源,用逗号分隔。
from子句还可以指定数据表或视图之间的连接类型,类型取决于on子句中指定的连接条件。
T-SQL可以支持在from子句中指定除数据表或视图外的其他对象构成派生表。
例如:select emp.员工编号,emp.员工姓名,sp.部门名称
fr ......