为什么count(*)就是统计记录数呢? 为什么select count(*) from baisoft就是统计表中的记录个数呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 COUNT(expr) 返回SELECT语句检索到的行中非NULL值的数目。 若找不到匹配的行,则COUNT() 返回 0 。 mysql> SELECT student.student_name,COUNT(*) -> FROM student,course -> WHERE student.student_id=course.student_id -> GROUP BY student_name; COUNT(*) 的稍微不同之处在于,它返回检索行的数目, 不论其是否包含 NULL值。SELECT 从一个表中检索,而不检索其它的列,并且没有 WHERE子句时, COUNT(*)被优化到最快的返回速度。例如:mysql> SELECT COUNT(*) FROM student;这个优化仅适用于 MyISAM表, 原因是这些表类型会储存一个函数返回记录的精确数量,而且非常容易访问。对于事务型的存储引擎(InnoDB, BDB), 存储一个精确行数的问题比较多,原因是可能会发生多重事物处理, 而每个都可能会对行数产生影响。COUNT(DISTINCT expr,[expr...]) 返回不同的非NULL值数目。若找不到匹配的项,则COUNT(DISTINCT)返回 0 。mysql> SELECT COUNT(DISTINCT results) FROM student;在MySQL中, 你通过给定一个表达式列表而获取不包含NULL 不同表达式组合的数目。在标准 SQL中,你将必须在COUNT(DISTINCT ...)中连接所有表达式 先读三遍《数据库系统概论(第四版)》 王珊 萨师煊 高等教育出版社 (掌握基础知识和概念) 然后再粗略浏览一遍MYSQL的官方手册。(方便以后查找,避免类似于考试的时候,给你本政治书也不知道答案在第几章,第几页)MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html sql规范里面是这么定义的。 count(*) 的意思就是计算有多少条数据啊 mysql无重复插入的问题 revoke的用法 mysql中使用 useTimezone的问题 Web工程出现错误mysql错误 菜鸟请教大家了,如何查询数字呢,谢谢 多个不同的数据中相同表的访问问题 PostGres 的一些問題. 來者有分.不夠再加! mysql的子查询 Mysql存入错误,请大神指教啊 MySQL的sqlstr中<无法处理? Innodb存储过程表,insert 后 rollback无效? Mysql建立索引报错!
返回SELECT语句检索到的行中非NULL值的数目。 若找不到匹配的行,则COUNT() 返回 0 。 mysql> SELECT student.student_name,COUNT(*) -> FROM student,course -> WHERE student.student_id=course.student_id -> GROUP BY student_name; COUNT(*) 的稍微不同之处在于,它返回检索行的数目, 不论其是否包含 NULL值。SELECT 从一个表中检索,而不检索其它的列,并且没有 WHERE子句时, COUNT(*)被优化到最快的返回速度。例如:mysql> SELECT COUNT(*) FROM student;这个优化仅适用于 MyISAM表, 原因是这些表类型会储存一个函数返回记录的精确数量,而且非常容易访问。对于事务型的存储引擎(InnoDB, BDB), 存储一个精确行数的问题比较多,原因是可能会发生多重事物处理, 而每个都可能会对行数产生影响。COUNT(DISTINCT expr,[expr...])
返回不同的非NULL值数目。若找不到匹配的项,则COUNT(DISTINCT)返回 0 。mysql> SELECT COUNT(DISTINCT results) FROM student;在MySQL中, 你通过给定一个表达式列表而获取不包含NULL 不同表达式组合的数目。在标准 SQL中,你将必须在COUNT(DISTINCT ...)中连接所有表达式
sql规范里面是这么定义的。