Dict.CN 在线词典, 英语学习, 在线翻译

都市淘沙者

荔枝FM Everyone can be host

统计

留言簿(23)

积分与排名

优秀学习网站

友情连接

阅读排行榜

评论排行榜

Having 的用法(转)

今天秦赟给我讲解了一下Having的用法,感觉很好用,也很简单,看来以后发展的话还是要多在db上下下功夫:下面是Having的学习笔记

注意:Having和Where的区别,简单的使用where,如果有group by的话那么就需要用Having在group by后面作为条件,如果在group的前面就需要用where来做限定条件。

HAVING 子句

在 Select 语句中指定,显示哪些已用 GROUP BY 子句分组的记录。在GROUP BY组合了记录后, HAVING会显示 GROUP BY 子句 分组的任何符合 HAVING 子句的记录。--比较饶口,基本意识就是分组以后使用Having来做条件

语法

SELECT 字段表
    FROM 表
    WHERE选择准则
    GROUP BY 分组字段表
    [HAVING分组准则]

包含 HAVING 子句的 SELECT 语句具有以下几个部分:

部分 说明
fieldlist 要和任何字段名别名, SQL 合计函数s, 选择断定 (ALL, DISTINCT, DISTINCTROW, 或 TOP)或其他SELECT 语句选择一起检索的字段名称。
table 从其中获取记录的表的名称。欲知更多信息请看 FROM 子句.
selectcriteria 选择准则。如果此 语句 包含一个 WHERE 子句, Microsoft Jet数据库引擎 会在记录上应用WHERE条件,然后把值分组。
groupfieldlist 用来对记录分组的字段名,最多有 10 个字段。在 groupfieldlist 中字段名的顺序将决定组层次,由最高至最低的层次来分组。
groupcriteria 一个表达式,用以决定应显示的已分组记录。

说明

HAVING 是可选的。

HAVING 与 WHERE 类似,可用来决定选择哪个记录。在使用 GROUP BY对这些记录分组后,HAVING 会决定应显示的记录:

SELECT CategoryID,

Sum(UnitsInStock)

FROM Products

GROUP BY CategoryID

HAVING Sum(UnitsInStock) > 100 And Like "BOS*";

一个 HAVING 子句最多可包含 40 个表达式,并由诸如 And 及 Or 之类的逻辑操作符来链接这些表达式。

实例:select count(*) as c, phone from miscflow group by phone having count(*)=5

posted on 2007-09-10 09:38 都市淘沙者 阅读(734) 评论(0)  编辑  收藏 所属分类: Oracle/Mysql/Postgres/