我最近在一次采访中被问到了这个问题。 我在mySQL中试过了,得到了相同的结果(最终结果)。 All给出了该特定表中的行数。 任何人都可以解释他们之间的主要区别。mySQL/SQL中count(0),count(1)..和count(*)有什么区别?
24
A
回答
30
真的没什么,除非你指定表或字段或括号而非固定值内的表达式*
让我给你一个详细的解答。 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作为输出
20
COUNT(*)
将计算行数,而COUNT(expression)
将计算在表达和COUNT(column)
非空值会计算列中的所有非空值。
由于0和1都是非空值,所以COUNT(0)=COUNT(1)
和它们两者将相当于行数COUNT(*)
。这是一个不同的概念,但结果是一样的。
10
现在 - 他们都应该执行相同。
尽管如此,COUNT(1)(或您选择的任何常数)有时会推荐COUNT(*),因为较差的查询优化代码会使数据库在运行计数之前检索所有字段数据。 COUNT(1)因此速度更快,但现在无关紧要。
相关问题
- 1. sql中count(*)和count(1)有什么区别?
- 2. sql 2008中select count(*),count(0),count(100),count(Id)之间的区别?
- 3. 区别:d [count]和d [count]
- 4. 在Perl中,“if defined $ count”和“if $ count”之间有什么区别?
- 5. COUNT(*)和COUNT(table.ColumnName)之间有什么区别?
- 6. 什么时候使用Sql Server 2008中的Count(*)和Count(1)
- 7. y <count&y <= count的区别
- 8. count(*)和count(column_name),diff是什么?
- 9. C#中可观察集合中Count和Count()之间的区别是什么?
- 10. select *和count的区别(*)
- 11. 什么是COUNT(*)%2 = 1
- 12. 这是什么声明:(count == null)? 1:count + 1
- 13. SQLite中为什么select count(*)和select * query planning有区别?
- 14. mongodb中的db.mydb.find({tag:'java'})。count()和db.mydb.count({tag:'java'})有什么区别
- 15. rabbitmq中prefetch count和no ack有什么区别
- 16. 为什么mysql count(*)比count更好(id)
- 17. MySQL COUNT return 0
- 18. 分区SUM和COUNT
- 19. SELECT COUNT(*)returns -1
- 20. IF(Count(*)> 1)
- 21. SQL COUNT COUNT
- 22. Select count with count
- 23. Where()。Count()vs. Count()
- 24. 为什么SELECT count(PK)和SELECT count(*)这么慢?
- 25. 和数据时,COUNT(*)> 0
- 26. 有COUNT()= 0的困惑
- 27. NSArray ObjectAtIndex:0 --- get count?
- 28. COUNT(*)0布尔场
- 29. COUNT(*)我看重0
- 30. mysql select where count = 0
在列中有一个“null”值。然后在列上做点数。看看计数有何不同。选择'0'或'1'只是为每一行选择一个常量,不会涉及'null'。的 – Glenn
可能重复[在SQL中,什么是计数(列)和计数(\ *)有何区别?(http://stackoverflow.com/questions/59294/in-sql-whats-the-difference-between-countcolumn - 计数) – newtover