我最近在一次採訪中被問到了這個問題。 我在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