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

chọn số lượng riêng biệt (id) so với số lượng chọn (id riêng biệt)

Khi bạn thực hiện select distinct count(id) thì về cơ bản bạn đang làm:

select distinct cnt
from (select count(id) as cnt from t) t;

Bởi vì truy vấn bên trong chỉ trả về một hàng, distinct không làm gì cả. Truy vấn đếm số hàng trong bảng (tốt, chính xác hơn là số hàng trong đó id không phải là null ).

Mặt khác, khi bạn thực hiện:

select count(distinct id)
from t;

Sau đó, truy vấn đếm số lượng các giá trị khác nhau mà id diễn ra trong bảng. Đây có vẻ là những gì bạn muốn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt nhất để chèn nhiều hàng vào cơ sở dữ liệu mysql bằng php là gì?

  2. MySQL:làm cách nào để xem TẤT CẢ các ràng buộc trên một bảng?

  3. Các ký tự hex trong đối sánh regexp trong mysql

  4. Đổi tên bảng InnoDB mà không cập nhật các tham chiếu khóa ngoại cho nó?

  5. Truy vấn tham gia Mysql cho nhiều thẻ (mối quan hệ nhiều-nhiều) khớp với TẤT CẢ các thẻ?