什么是;expr";在MySQL中运行';s计数(expr)函数?
考虑如下:什么是;expr";在MySQL中运行';s计数(expr)函数?,mysql,sql,database,count,Mysql,Sql,Database,Count,考虑如下: SELECT COUNT(*) FROM table; SELECT COUNT(1) FROM table; SELECT COUNT(-2) FROM table; SELECT COUNT(135392) FROM table; SELECT COUNT(field) FROM table; SELECT COUNT(field1 + field2) FROM table; 我不清楚expr实际上做了什么,或者它可以用于什么,因为上面所有的SQL语句都返回相同的结果。示例如下
SELECT COUNT(*) FROM table;
SELECT COUNT(1) FROM table;
SELECT COUNT(-2) FROM table;
SELECT COUNT(135392) FROM table;
SELECT COUNT(field) FROM table;
SELECT COUNT(field1 + field2) FROM table;
我不清楚expr
实际上做了什么,或者它可以用于什么,因为上面所有的SQL语句都返回相同的结果。示例如下:
+-----------+
| count(..) |
+-----------+
| 54542 |
+-----------+
MySQL的手册()没有详细介绍expr
部分,除了使用*
符号COUNT()
统计
计算为非空值的行数
通常,表达式不需要它,只在单个可NULL
的列上使用它,或者在由于外部联接而可能为NULL
的列上使用它。COUNT()
统计
计算为非NULL
值的行数
通常,表达式不需要它,只在单个可NULL
-able列上使用,或者在由于外部联接而可能为NULL
的列上使用。
将对所有行进行计数COUNT(*)
如果COUNT(expr)
为expr
非空
expr
包含空值,则COUNT(expr)
可能小于COUNT(*)
:
SELECT COUNT(*), COUNT(1), COUNT(col)
FROM (
SELECT 'a' UNION ALL
SELECT 'b' UNION ALL
SELECT NULL
) AS t(col)
-- 3 3 2
将对所有行进行计数COUNT(*)
如果COUNT(expr)
为expr
非空
expr
包含空值,则COUNT(expr)
可能小于COUNT(*)
:
SELECT COUNT(*), COUNT(1), COUNT(col)
FROM (
SELECT 'a' UNION ALL
SELECT 'b' UNION ALL
SELECT NULL
) AS t(col)
-- 3 3 2
Expr是expression的缩写,其本身是“某个有效的sql块的缩写,该sql块在计算时为此行生成一个值” 它可以是常量、列、函数调用的结果、变量赋值、case语句等
—equivalent
COUNT(*)
COUNT(1)
COUNT(‘a’)
—count only males. If the group is 1000 in number and 600 are female, this returns 400
COUNT(case when gender = ‘m’ then ‘a’ else null end)
作为对其他答案的补充,
可以选择以单词DISTINCT开头,在这种情况下,只计算引用实体/表达式/函数结果的唯一出现次数
—in a set of 1000 animals, returns 1000
COUNT(gender)
—in a set of 1000 animals, 600 female, returns 2 (only values M and F exist in the group)
COUNT(distinct gender)
Expr是expression的缩写,其本身是“某个有效的sql块的缩写,该sql块在计算时为此行生成一个值” 它可以是常量、列、函数调用的结果、变量赋值、case语句等
—equivalent
COUNT(*)
COUNT(1)
COUNT(‘a’)
—count only males. If the group is 1000 in number and 600 are female, this returns 400
COUNT(case when gender = ‘m’ then ‘a’ else null end)
作为对其他答案的补充,
可以选择以单词DISTINCT开头,在这种情况下,只计算引用实体/表达式/函数结果的唯一出现次数
—in a set of 1000 animals, returns 1000
COUNT(gender)
—in a set of 1000 animals, 600 female, returns 2 (only values M and F exist in the group)
COUNT(distinct gender)
您提到的文档链接不完整。这将是一个完整的链接(也在源链接中引用):您提到的文档链接不完整。这将是一个完整的(也在您的源链接中引用):