Count[] hàm đếm số hàng. Trong bài viết này, chúng ta sẽ nói về cách lấy số lượng hàng trong MySQL cho các yêu cầu khác nhau, đặc biệt là
Hãy để chúng tôi bắt đầu với việc tạo dữ liệu được sử dụng trên
- Tạo bảng customer_sale_details
- Chèn dữ liệu vào bảng customer_sale_details
- Chọn từ customer_sale_details để xem dữ liệu
CREATE TABLE customer_sale_details [ customer_id INT auto_increment, customer_name VARCHAR[255], no_products_purchased INT, date_of_purchase DATETIME, primary key [customer_id] ]; INSERT INTO customer_sale_details [customer_name,no_products_purchased,date_of_purchase] VALUES ["Henric",56,'2020-11-05 14:29:36'], ["Rasmus",23,'2020-12-06 15:29:36'], ["Henry",2,'2020-12-12 14:30:36'], ["George",5,'2020-10-12 14:39:45'], ["Richa",45,'2021-01-01 13:29:26'], ["Ved",38, '2021-01-02 14:40:36'], ["Erick",200,'2021-01-02 12:30:30'], ["Mounika",12,'2020-10-05 11:19:36'], ["Tanya",15,'2019-11-05 12:31:31'], ["Abrahim",16,'2019-11-05 11:39:36'], ["Henric",139,'2021-01-07 10:10:16'], ["George",156,'2021-01-07 11:11:33']; SELECT * FROM customer_sale_details;
đầu ra. -
Đếm số hàng của bảng
Trong phần này, chúng ta hãy xem cách lấy số hàng trong bảng. Quan sát truy vấn bên dưới để lấy số bản ghi trong bảng customer_sale_details.
SELECT COUNT[*] FROM customer_sale_details ;
đầu ra. -
quảng cáo
Kết quả này cho thấy bảng customer_sale_details có 12 hàng
Chọn số lượng hàng của một truy vấn
Trong phần này, chúng ta hãy xem cách lấy số hàng do truy vấn trả về. Truy vấn dưới đây là để lấy số lượng hàng từ bảng customer_sale_details trong đó customer_name = “George” .
SELECT count[*] FROM [SELECT * FROM customer_sale_details WHERE customer_name="George"] AS count_of_query;
đầu ra. -
Kết quả cho thấy số hàng được trả về từ truy vấn là 2
Chọn số lượng hàng [riêng biệt]
Đôi khi có yêu cầu lấy số lượng giá trị riêng biệt trong truy vấn hoặc truy vấn phụ. Quan sát truy vấn bên dưới để lấy tên khách hàng riêng biệt từ bảng customer_sale_details.
SELECT COUNT[DISTINCT customer_name] AS Customer_Names FROM customer_sale_details;
đầu ra. -
Chúng ta hãy lấy một ví dụ khác và quan sát truy vấn bên dưới để lấy tên khách hàng riêng biệt từ bảng customer_sale_details đã mua ít hơn 100 sản phẩm.
SELECT COUNT[customer_name] FROM [ SELECT DISTINCT customer_name FROM customer_sale_details WHERE no_products_purchased < 100 ] AS customer_count;
đầu ra. -
Chọn số lượng hàng NHÓM THEO
Khi được sử dụng với GROUP BY, hàm đếm[] sẽ lấy số lượng bản ghi được đặc trưng theo các nhóm khác nhau. Hãy để chúng tôi xem cách sử dụng GROUP BY với hàm đếm [] trong ví dụ dưới đây. Lấy số bản ghi được nhóm theo tên_khách_hàng.
SELECT customer_name, COUNT[customer_name] AS records_per_customer FROM customer_sale_details GROUP BY customer_name
đầu ra. -
MySQL chọn số lượng hàng từ tất cả các bảng
Phần này sẽ xem các cách khác nhau để đếm số lượng của tất cả các bảng trong lược đồ cơ sở dữ liệu
CÚ PHÁP. -
SELECT TABLE_NAME, SUM[TABLE_ROWS] AS COUNT_OF_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'Name of your schema' GROUP BY TABLE_NAME;
Thí dụ. -
Truy vấn dưới đây sẽ nhận được số lượng của tất cả các bảng có trong lược đồ riti_sales_DB
SELECT TABLE_NAME, SUM[TABLE_ROWS] AS COUNT_OF_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'riti_sales_DB' GROUP BY TABLE_NAME;
đầu ra. -
Một cách khác để biết số lượng của tất cả các bảng là bằng cách HIỂN THỊ TRẠNG THÁI
________số 8SHOW STATUS, cùng với các thông tin khác, cũng sẽ nhận được số hàng trong mỗi bảng, như thể hiện trong hình 8
I may indeed be the only one ever to encounter this - however if you have a myisam table with one row, and you search with valid table and column name for a result where you might expect 0 rows, you will not get 0, you will get 1, which is the myisam optimised response when a table has 0 or one rows. Under "5.2.4 How MySQL Optimises WHERE Clauses" it reads:
SELECT COUNT[*] FROM customer_sale_details ;0
SELECT COUNT[*] FROM customer_sale_details ;1
SELECT COUNT[*] FROM customer_sale_details ;2
SELECT COUNT[*] FROM customer_sale_details ;3