当前位置: 首页 > 图文教程 > 数据库 > 数据库技巧 > SQL语句详细说明[部分]

数据库技巧
一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
交叉表查询sql语句
ms SQL server数据库备份、压缩与SQL数据库数据处理的方法
DBCC SHRINKDATABASEMS SQL数据库日志压缩方法
SQLSERVER 高级复 制 排错 技巧
识别 MS SQL 各个版本的版本号的方法
数据库查询中遭遇特殊字符导致问题的解决方法
替换一个字段的所有非数字字符为空的sql语句
用SQL Server访问Sybase中的表的方法
掌握SQL Server数据库快照的工作原理
mssql 区分大小写的详细说明
Sybase数据库sa密码丢失后解决方法
特殊的存储过程-触发器概述
MSSQL内连接inner join查询方法
很全的SQL中文解释代码
SQL Server不存在或访问被拒绝问题的解决
比较实用SQL语句总结
SQL SERVER的字段类型说明
sql server中datetime字段去除时间代码收藏
Access转换成SQL Server需要注意事项整理

数据库技巧 中的 SQL语句详细说明[部分]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 62 ::
收藏到网摘: n/a

比较不错的sql实例分析,比较详细,建议学习sql的朋友看看
SQL 语句教程 (11) Group By

我们现在回到函数上。记得我们用
SUM
这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么办呢?在这个情况下,我们要做到两件事:第一,我们对于 store_name Sales 这两个栏位都要选出。第二,我们需要确认所有的 sales 都要依照各个 store_name 来分开算。这个语法为:
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1"
在我们的示范上
Store_Information
表格

store_name

sales

date

Los Angeles

$1500

jan-05-1999

San Francisco

$300

jan-08-1999

Boston

$700

jan-08-1999


我们就打入
SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name
结果 :
store_name SUM(Sales)
Los Angeles $1800
San Diego $250
Boston $700
当我们选不只一个栏位,且其中至少一个栏位有包含函数的运用时,我们就需要用到 GROUP BY 这个指令。在这个情况下,我们需要确定我们有 GROUP BY 所有其他的栏位。换句话说,除了有包括函数的栏位外,我们都需要将其放在 GROUP BY 的子句中。

SQL 语句教程 (12) HAVING

那我们如何对函数产生的值来设定条件呢?举例来说,我们可能只需要知道哪些店的营业额有超过 $1,500。在这个情况下,我们不能使用
WHERE
的指令。那要怎么办呢?很幸运地,SQL 有提供一个
HAVING
的指令,而我们就可以用这个指令来达到这个目标。
HAVING
子句通常是在一个 SQL 句子的最后。一个含有 HAVING 子句的 SQL 并不一定要包含
GROUP BY
子句。HAVING
的语法如下:
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1" HAVING (函数条件)
请读者注意: GROUP BY 子句并不是一定需要的
在我们Store_Information 表格这个例子中
Store_Information
表格

store_name

sales

date

Los Angeles

$1500

jan-05-1999

San Francisco

$300

jan-08-1999

Boston

$700

jan-08-1999


我们打入
SELECT store_name, SUM(sales) FROM Store_Information GROUP BY store_name HAVING SUM(sales) > 1500
结果 :
store_name SUM(Sales)
Los Angeles $1800