易截截图软件、单文件、免安装、纯绿色、仅160KB

sql分组函数使用


转自:http://book.csdn.net/bookfiles/235/10023510864.shtml
在实际SQL应用中,经常需要进行分组聚合,即将查询对象按一定条件分组,然后对每一个组进行聚合分析。
GROUP BY子句创建分组
创建分组是通过GROUP BY子句实现的。与WHERE子句不同,GROUP BY子句用于归纳信息类型,以汇总相关数据。而为什么要使用GROUP BY子句创建分组呢?可通过下面这个简单例子来说明。
实例17 单一分组的查询
假如要从TEACHER表中查询所有男教师的平均工资,用前面介绍的聚合函数AVG(),实现代码如下:
SELECT AVG(SAL) AS boyavg_sal
from     TEACHER
WHERE   TSEX='男'
运行结果如图8.18所示。
图8.18 TEACHER表中查询所有男教师的平均工资
而如果同时需要查询所有女教师的平均工资,该如何处理呢?显然,采用上述方法只能在WHERE子句中改变查询条件,重新查询。而如果要在一次查询中,同时得到二者的查询结果,就需要以性别为基准,将表中的所有数据记录分组,即男教师组和女教师组,并分别对两组数据进行分析,即计算工资(SAL列)的平均值。
实现上述功能,就需要使用分组子句GROUP BY。包括GROUP BY子句的查询就称为组合查询。语法如下。
SELECT                              column, SUM(column)
from             table
GROUP BY        column
说明:GROUP BY子句依据column列里的数据对行进行分组,即具有相同的值的行被划为一组。它一般与聚合函数同时使用。当然,这里的SUM()函数也可以是其他聚合函数。所有的组合列(GROUP BY子句中列出的列)必须是来自from子句列出的表,不能根据实际值、聚合函数结果或者其他表达式计算的值来对行分组。
实例18 GROUP BY子句分组查询
从TEACHER表中查询所有男教师的平均工资和所有女教师的平均工资,实现代码如下。
SELECT           TSEX+'教师'AS TEACHER, AVG(SAL) AS avg_sal
from                              &nb


相关文档:

用C#读SQL SERVER到控制台的简单示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//sqlserver身份验证
//string sqlconn = "ser ......

用T SQL语句实现SQL server与XLS,MDB等文件的数据交换

第一部分:SQL server与ACCESS数据库的交换
软件开发网
1. 在SQL SERVER里查询access数据: 软件开发网
SELECT * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名
--------------------------------------------------------------------------
2. 将ac ......

传智播客java学习 sql常用函数

我今天学习了sql语句的常用函数,是冯威老师讲的,我做了简单的笔记:
 
一,SQL函数:
1. 大小写转换函数
   lower 转成小写  
   upper 大写
   initcap  将字符串的(每个单词的)第一个字母变为大写,后面的小写
 select initcap('huangHY') from dual
&n ......

传智播客java学习 sql对象

我今天学习了Oracle数据库如何修改表的知识,是冯威老师讲的课,我做了简单的记录:
1.在表中插入新的列:
  alter table tablename
  add city varchar(2) default 'rr' //赋默认值
2.修改表中的列:
  alter table tablename
  modify city varchar(20)
3.删除表中的列:
  alter t ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号