[b][size=medium][color=blue]1、distinct[/color][/size][/b]
[b]说明[/b]:此语句是从t中选出col1,col2,col3...coln不重复的记录。
[b]注意[/b]:col1,col2,col3...coln是一个整体,也就是说distinct的作用域是col1,col2,col3...coln 而不只是col1。
如下图的一个表
[img]http://dl.iteye.com/upload/picture/pic/82889/5150aab6-e073-3ce6-939c-8065d6b3b596.jpg[/img]
执行语句 SELECT DISTINCT n1,n2 FROM Lion后,得到结果
[img]http://dl.iteye.com/upload/picture/pic/82891/1cc6be48-1ce1-34e4-86dd-435baddad3dc.jpg[/img]
[size=medium][color=blue][b]2、group by[/b][/color][/size]
[b]说明[/b]:与distinct类似 group by 的作用域包含col1,col2,col3...coln
执行
[img]http://dl.iteye.com/upload/picture/pic/82895/8aca0dcf-a35c-3204-841d-a6c592400918.jpg[/img]
[color=blue][size=medium][b]3、count(exp)[/b][/size][/color]
select count(exp) from t
[b]说明[/b]:返回SELECT 语句检索到的行中非NULL 值的数目。
若找不到匹配的行,则COUNT() 返回 0
COUNT(*) 的稍微不同之处在于,它返回检索行的数目, 不论其是否包含 NULL 值。
select distinct col1,col2,col3...coln from t
[b]说明[/b]:此语句是从t中选出col1,col2,col3...coln不重复的记录。
[b]注意[/b]:col1,col2,col3...coln是一个整体,也就是说distinct的作用域是col1,col2,col3...coln 而不只是col1。
如下图的一个表
[img]http://dl.iteye.com/upload/picture/pic/82889/5150aab6-e073-3ce6-939c-8065d6b3b596.jpg[/img]
执行语句 SELECT DISTINCT n1,n2 FROM Lion后,得到结果
[img]http://dl.iteye.com/upload/picture/pic/82891/1cc6be48-1ce1-34e4-86dd-435baddad3dc.jpg[/img]
[size=medium][color=blue][b]2、group by[/b][/color][/size]
select * from t group by col1,col2,col3...coln
[b]说明[/b]:与distinct类似 group by 的作用域包含col1,col2,col3...coln
执行
SELECT * FROM Lion GROUP BY n1,n2
,得到以下结果
[img]http://dl.iteye.com/upload/picture/pic/82895/8aca0dcf-a35c-3204-841d-a6c592400918.jpg[/img]
[color=blue][size=medium][b]3、count(exp)[/b][/size][/color]
select count(exp) from t
[b]说明[/b]:返回SELECT 语句检索到的行中非NULL 值的数目。
若找不到匹配的行,则COUNT() 返回 0
COUNT(*) 的稍微不同之处在于,它返回检索行的数目, 不论其是否包含 NULL 值。