SQL 的一些核心语句
时间:2007-12-23 来源:不详 作者:迈克DB
假如你想改变一个字段的数据类型,你可以创建一个包含正确数据类型字段的新表。创建好该表后,你就可以结合使用UPDATE语句和SELECT语句,把原来表中的所有数据拷贝到新表中。通过这种方法,你既可以修改表的结构,又能保存原有的数据。
集合函数
到现在为止,你只学习了如何根据特定的条件从表中取出一条或多条记录。但是,假如你想对一个表中的记录进行数据统计。例如,假如你想统计存储在表中的一次民意测验的投票结果。或者你想知道一个访问者在你的站点上平均花费了多少时间。要对表中的任何类型的数据进行统计,都需要使用集合函数。
MicrosoftSQL支持五种类型的集合函数。你可以统计记录数目,平均值,最小值,最大值,或者求和。当你使用一个集合函数时,它只返回一个数,该数值代表这几个统计值之一。
注重:
要在你的ASP网页中使用集合函数的返回值,你需要给该值起一个名字。要作到这一点,你可以在SELECT语句中,在集合函数后面紧跟一个字段名,如下例所示:
SELECTAVG(vote)‘the_average’FROMopinion
在这个例子中,vote的平均值被命名为the_average。现在你可以在你的ASP网页的数据库方法中使用这个名字。 织梦内容管理系统
统计字段值的数目
函数COUNT()也许是最有用的集合函数。你可以用这个函数来统计一个表中有多少条记录。这里有一个例子:
SELECTCOUNT(au_lname)FROMauthors
这个例子计算表authors中名字(lastname)的数目。假如相同的名字出现了不止一次,该名字将会被计算多次。假如你想知道名字为某个特定值的作者有多少个,你可以使用WHERE子句,如下例所示:
SELECTCOUNT(au_lname)FROMauthorsWHEREau_lname=’Ringer’
这个例子返回名字为’Ringer’的作者的数目。假如这个名字在表authors中出现了两次,则次函数的返回值是2。
假如你想知道有不同名字的作者的数目。你可以通过使用要害字DISTINCT来得到该数目。如下例所示:
SELECTCOUNT(DISTINCTau_lname)FROMauthors
假如名字’Ringer’出现了不止一次,它将只被计算一次。要害字DISTINCT决定了只有互不相同的值才被计算。
通常,当你使用COUNT()时,字段中的空值将被忽略。一般来说,这正是你所希望的。但是,假如你仅仅想知道表中记录的数目,那么你需要计算表中所有的记录─不管它是否包含空值。下面是一个如何做到这一点的例子:
SELECTCOUNT(*)FROMauthors
注重函数COUNT()没有指定任何字段。这个语句计算表中所有记录所数目,包括有空值的记录。因此,你不需要指定要被计算的特定字段。 织梦内容管理系统
函数COUNT()在很多不同情况下是有用的。例如,假设有一个表保存了对你站点的质量进行民意调查的结果。这个表有一个名为vote的字段,该字段的值要么是0,要么是1。0表示反对票,1表示赞成票。要确定赞成票的数量,你可以所有下面的SELECT语句:
SELECTCOUNT(vote)FROMopinion_tableWHEREvote=1
计算字段的平均值
使用函数COUNT(),你可以统计一个字段中有多少个值。但有时你需要计算这些值的平均值。使用函数AVG(),你可以返回一个字段中所有值的平均值。
假如你对你的站点进行一次较为复杂的民意调查。访问者可以在1到10之间投票,表示他们喜欢你站点的程度。你把投票结果保存在名为vote的INT型字段中。要计算你的用户投票的平均值,你需要使用函数AVG():
SELECTAVG(vote)FROMopinion
这个SELECT语句的返回值代表用户对你站点的平均喜欢程度。函数AVG()只能对数值型字段使用。这个函数在计算平均值时也忽略空值。
上一篇:缩小SQLServer数据库日志 下一篇:My SQL数据目录结构
文章评论
共有位Admini5网友发表了评论 查看完整内容