Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sự khác biệt giữa count (0), count (1) .. và count (*) trong mySQL / SQL là gì?

Không có gì thực sự, trừ khi bạn chỉ định một trường trong bảng hoặc một biểu thức trong các tham số thay vì các giá trị không đổi hoặc *

Hãy để tôi cung cấp cho bạn một câu trả lời chi tiết. Số đếm sẽ cung cấp cho bạn số bản ghi không rỗng của trường đã cho. Giả sử bạn có một bảng tên là A

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

tất cả sẽ trả về cùng một số bản ghi, đó là số hàng trong bảng A. Tuy nhiên, kết quả đầu ra là khác nhau. Nếu có 3 bản ghi trong bảng. Với X và Y là tên trường

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)

Vì vậy, cả ba truy vấn đều trả về cùng một số. Trừ khi bạn sử dụng

select count(Y) from A 

vì chỉ có một giá trị không rỗng nên bạn sẽ nhận được 1 làm đầu ra



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tôi vẫn cần cài đặt MySQL Connector trên máy tính mặc dù có các gói NuGet thích hợp?

  2. Gọi các biến PHP từ bên trong Cơ sở dữ liệu MySQL

  3. PHP chuyển đổi từ MySql sang Excel Bảng tính tự động kích thước cột

  4. Làm thế nào để xóa dữ liệu khỏi cơ sở dữ liệu bằng cách sử dụng nút radio trong php?

  5. Người dùng 'Người dùng' @ '%' và 'Người dùng' @ 'localhost' có giống nhau không?