sql COUNT函数计算出结果集合中的数据行数。和其他函数一样它接受一个参数。
例如:
计算出news表中所有的行数。
例如:
用来统计news表中id号大于等于100的所有行数。
如果需要查询某特定列有多少行包含非空值,可以对该列使用count()函数。
不过,要注意,除非数据库设置为字段为空是缺省值NULL,否则仍然返回表内数据行的总数。
另外,count()函数只接收一个列作为参数,多于一个值会报错的。
例如:
select count(title) from news;
count还可以用来计算distinct结果集合中的行数。
下面我们举一个详细的例子,来学习sql count()函数的用法。
1、创建测试表news
2、插入200条相同数据
这里用到了sql循环语句,需要了解这部分知识的朋友,可以参考如下的文章:
sql循环语句简单示例与解释
sql四种循环结构应用举例
3、查询总行数
4、查询不重复的总行数
这里先用 update news set title='jbxue.net' where id<=90 更新下数据。
注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。
在结尾处,我们说一下一个老生常谈的话题,到底应该使用COUNT(*)还是使用COUNT(columnname),其中 columnname是要计算纪录数的列名。很多人认为COUNT(columnname)比使用COUNT(*)更好。但事无绝对,有时反而会适得其反。尽管有些场合可以(或者说是应该)使用COUNT(columnname),但不能总是这样使用。
更多内容,留待诸位深入思考与探寻吧。