您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在mySQL / SQL中count(0),count(1)..和count(*)之间有什么区别?

在mySQL / SQL中count(0),count(1)..和count(*)之间有什么区别?

除非您在表格中指定字段或在括号内指定表达式,而不是常量值或*,否则什么也没做

让我给您一个详细的答案。计数将为您提供给定字段的非空记录号。假设您有一个名为A的表

select 1 from A
select 0 from A
select * from A

都将返回相同数量的记录,即表A中的行数。输出仍然不同。如果表中有3条记录。使用X和Y作为字段名称

select 1 from A will give you

1
1
1

select 0 from A will give you
0
0
0

select * from A will give you ( assume two columns X and Y is in the table )
X      Y
--     --
value1 value1
value2 (null)
value3 (null)

因此,所有三个查询都返回相同的数字。除非你用

select count(Y) from A

由于只有一个非空值,您将获得1作为输出

MySQL 2022/1/1 18:48:38 有265人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶