两者均是统计类函数,都不计算NULL字段!!!
单纯计算行数的话,count的效率比sum的效率高
MySQL SUM()函数介绍
SUM()
函数用于计算一组值或表达式的总和,SUM()
函数的语法如下:
SUM(DISTINCT expression)
SUM()
函数是如何工作的?
- 如果在没有返回匹配行SELECT语句中使用
SUM
函数,则SUM
函数返回NULL
,而不是0
。 DISTINCT
运算符允许计算集合中的不同值。SUM
函数忽略计算中的NULL
值。
MySQL COUNT()函数介绍
COUNT()
函数返回表中的行数。 COUNT()
函数允许您对表中符合特定条件的所有行进行计数。
COUNT()
函数的语法如下 -
COUNT(expression)
COUNT()
函数的返回类型为BIGINT
。 如果没有找到匹配的行,则COUNT()
函数返回0
。
COUNT
函数有几种形式:COUNT(*)
,COUNT(expression)
和COUNT(DISTINCT expression)
。
SUM (Transact-SQL)
返回表达式中所有值的和或仅非重复值的和。 SUM 只能用于数字列。 Null 值会被忽略。
COUNT (Transact-SQL)
此函数返回组中找到的项数量。 COUNT
的操作与 COUNT_BIG 函数类似。 这些函数区别只在于其返回的值的数据类型。 COUNT
始终返回“int”数据类型值。 COUNT_BIG
始终返回“bigint”数据类型值。
来源:https://www.yiibai.com/mysql/
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/functions?view=sql-server-2017