Php đếm số cột trong bảng

Để tìm số cột trong bảng MySQL, hãy sử dụng hàm đếm [*] với information_schema. cột và mệnh đề WHERE. Hãy để chúng tôi xem một ví dụ

Tạo bảng

mysql> create table NumberOfColumns
   -> [
   -> id int,
   -> FirstName varchar[100],
   -> LastName varchar[100],
   -> Age int,
   -> Address varchar[100]
   -> ];
Query OK, 0 rows affected [0.70 sec]

Chèn bản ghi vào bảng

mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]

Để hiển thị tất cả các bản ghi

mysql> select *from NumberOfColumns;

Đây là đầu ra

+------+-----------+----------+------+-----------+
| id   | FirstName | LastName | Age  | Address   |
+------+-----------+----------+------+-----------+
|    1 | Shane     | Watson   |   36 | Australia |
|    2 | Carol     | Taylor   |   24 | US        |
+------+-----------+----------+------+-----------+
2 rows in set [0.00 sec]

Bây giờ chúng ta hãy xem cú pháp để đếm số lượng cột trong một bảng

SELECT count[*] AS anyName FROM information_schema.columns
WHERE table_name =’ yourTableName’;

Áp dụng cú pháp trên vào bảng ví dụ có tên ‘NumberOfColumns’

mysql> SELECT count[*] AS NUMBEROFCOLUMNS FROM information_schema.columns
    -> WHERE table_name ='NumberOfColumns';

Đây là đầu ra

+-----------------+
| NUMBEROFCOLUMNS |
+-----------------+
|               5 |
+-----------------+
1 row in set [0.00 sec]

Truy vấn thay thế để tìm số cột

SELECT COUNT[*] AS anyName FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'yourDatabaseName' AND table_name = 'yourTableName';

Áp dụng truy vấn thứ hai cho cơ sở dữ liệu có tên 'doanh nghiệp'

________số 8

Đầu ra hiển thị số cột

+-----------------+
| NUMBEROFCOLUMNS |
+-----------------+
|               5 |
+-----------------+
1 row in set [0.00 sec]

Hướng dẫn SQL này giải thích cách sử dụng hàm SQL COUNT với cú pháp, ví dụ và bài tập thực hành

Sự mô tả

Hàm SQL COUNT được sử dụng để đếm số hàng được trả về trong câu lệnh SELECT

cú pháp

Cú pháp của hàm COUNT trong SQL là

mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
0

HOẶC cú pháp của hàm COUNT khi nhóm các kết quả theo một hoặc nhiều cột là

mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
1

Tham số hoặc Đối số

biểu thức1, biểu thức2,. biểu thức_nCác biểu thức không được gói gọn trong hàm COUNT và phải được bao gồm trong mệnh đề GROUP BY ở cuối câu lệnh SQL. biểu_thức_tổng hợpĐây là cột hoặc biểu thức có các giá trị khác null sẽ được tính. tableCác bảng mà bạn muốn truy xuất các bản ghi từ. Phải có ít nhất một bảng được liệt kê trong mệnh đề TỪ. điều kiện WHERETùy chọn. Đây là những điều kiện phải được đáp ứng để hồ sơ được chọn. ĐẶT HÀNG BẰNG biểu thứcTùy chọn. Biểu thức dùng để sắp xếp các bản ghi trong tập kết quả. Nếu có nhiều hơn một biểu thức được cung cấp, thì các giá trị phải được phân tách bằng dấu phẩy. ASCTùy chọn. ASC sắp xếp tập kết quả theo thứ tự tăng dần theo biểu thức. Đây là hành vi mặc định, nếu không có công cụ sửa đổi nào là nhà cung cấp. MÔ TẢTùy chọn. DESC sắp xếp tập kết quả theo thứ tự giảm dần theo biểu thức

DDL/DML cho các ví dụ

Nếu bạn muốn làm theo hướng dẫn này, hãy lấy DDL để tạo bảng và DML để điền dữ liệu. Sau đó thử các ví dụ trong cơ sở dữ liệu của riêng bạn

Nhận DDL/DML

Ví dụ - Hàm COUNT chỉ bao gồm các giá trị NOT NULL

Không phải ai cũng nhận ra điều này, nhưng hàm COUNT sẽ chỉ đếm những bản ghi có biểu thức NOT NULL trong

mysql> select *from NumberOfColumns;
2. Khi biểu thức là giá trị NULL, nó không được bao gồm trong phép tính COUNT. Hãy khám phá điều này hơn nữa

Trong ví dụ này, chúng tôi có một bảng được gọi là khách hàng với dữ liệu sau

khách hàng_idlast_namefirst_namefavorite_website4000JacksonJoetechonthenet. com5000SmithJanedigminecraft. com6000FergusonSamanthabighoạt động. com7000ReynoldsAllenkiểm tra toán học của bạn. com8000AndersonPaigeNULL9000JohnsonDerektechonthenet. com

Nhập câu lệnh SELECT sau sử dụng hàm COUNT

Thử đi
mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
2

Sẽ có 1 bản ghi được chọn. Đây là những kết quả mà bạn sẽ thấy

ĐẾM[customer_id]6

Trong ví dụ này, truy vấn sẽ trả về 6 vì có 6 bản ghi trong bảng khách hàng và tất cả các giá trị customer_id đều KHÔNG NULL [nghĩa là. customer_id là khóa chính của bảng]

Nhưng điều gì sẽ xảy ra khi chúng ta gặp giá trị NULL với hàm COUNT?

Thử đi
mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
3

Sẽ có 1 bản ghi được chọn. Đây là những kết quả mà bạn sẽ thấy

ĐẾM[trang_web_yêu_thích]5

Ví dụ thứ hai này sẽ trả về 5. Bởi vì một trong các giá trị favorite_website là NULL, nó sẽ bị loại khỏi tính toán của hàm COUNT. Kết quả là truy vấn sẽ trả về 5 thay vì 6

TIỀN BOA. Sử dụng khóa chính trong hàm COUNT hoặc COUNT[*] nếu bạn muốn chắc chắn rằng các bản ghi không bị loại trừ trong phép tính

Ví dụ - Sử dụng một Biểu thức trong Hàm COUNT

Hãy xem một ví dụ cho biết cách sử dụng hàm COUNT với một biểu thức duy nhất trong truy vấn

Trong ví dụ này, chúng tôi có một bảng được gọi là nhân viên với dữ liệu sau

employee_numberlast_namefirst_namesalarydept_id1001SmithJohn620005001002AndersonJane575005001003EverestBrad710005011004HorvathJack42000501

Nhập câu lệnh SQL sau

Thử đi
mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
4

Sẽ có 1 bản ghi được chọn. Đây là những kết quả mà bạn sẽ thấy

tổng3

Trong ví dụ này, chúng tôi sẽ trả về số lượng nhân viên có mức lương trên $50.000. Chúng tôi đã đặt bí danh COUNT[*] là tổng số để làm cho kết quả truy vấn của chúng tôi dễ đọc hơn. Bây giờ, tổng số sẽ hiển thị dưới dạng tiêu đề cột khi tập hợp kết quả được trả về

Ví dụ - Sử dụng GROUP BY với Hàm COUNT

Trong một số trường hợp, bạn sẽ được yêu cầu sử dụng mệnh đề GROUP BY với hàm COUNT. Điều này xảy ra khi bạn có các cột được liệt kê trong câu lệnh SELECT không phải là một phần của hàm COUNT. Hãy khám phá điều này hơn nữa

Một lần nữa, sử dụng bảng nhân viên điền dữ liệu sau

employee_numberlast_namefirst_namesalarydept_id1001SmithJohn620005001002AndersonJane575005001003EverestBrad710005011004HorvathJack42000501

Nhập câu lệnh SQL sau

Thử đi
mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
5

Sẽ có 2 bản ghi được chọn. Đây là những kết quả mà bạn sẽ thấy

dept_idtotal50025011

Trong ví dụ này, hàm COUNT sẽ trả về số lượng nhân viên kiếm được hơn 50.000 đô la cho mỗi dept_id. Vì cột dept_id không được bao gồm trong hàm COUNT nên nó phải được liệt kê trong mệnh đề GROUP BY

Ví dụ - Sử dụng DISTINCT với Hàm COUNT

Bạn có biết rằng bạn có thể sử dụng mệnh đề DISTINCT trong hàm COUNT không?

Sử dụng cùng một bảng nhân viên như ví dụ trước

employee_numberlast_namefirst_namesalarydept_id1001SmithJohn620005001002AndersonJane575005001003EverestBrad710005011004HorvathJack42000501

Nhập câu lệnh SQL sau

Thử đi
mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
6

Sẽ có 1 bản ghi được chọn. Đây là những kết quả mà bạn sẽ thấy

tổng số2

Trong ví dụ này, hàm COUNT sẽ trả về số giá trị dept_id duy nhất có ít nhất một nhân viên kiếm được hơn 50.000 đô la

TIỀN BOA. Điều chỉnh hiệu suất với chức năng COUNT

Vì hàm COUNT sẽ trả về cùng một kết quả bất kể [các] trường KHÔNG NULL mà bạn đưa vào làm tham số hàm COUNT [tức là. trong ngoặc đơn], bạn có thể sử dụng

mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
10 để có hiệu suất tốt hơn. Bây giờ công cụ cơ sở dữ liệu sẽ không phải tìm nạp bất kỳ trường dữ liệu nào, thay vào đó, nó sẽ chỉ lấy giá trị nguyên là 1

Ví dụ: thay vì nhập câu lệnh này

Thử đi
mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
5

Bạn có thể thay thế

mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
11 bằng
mysql> insert into NumberOfColumns values[1,'Shane','Watson',36,'Australia'];
Query OK, 1 row affected [0.15 sec]

mysql> insert into NumberOfColumns values[2,'Carol','Taylor',24,'US'];
Query OK, 1 row affected [0.13 sec]
10 để có hiệu suất tốt hơn

Thử đi
mysql> select *from NumberOfColumns;
1

Giờ đây, hàm COUNT không cần truy xuất tất cả các trường từ bảng nhân viên như khi bạn sử dụng cú pháp COUNT[*]. Nó sẽ chỉ truy xuất giá trị số 1 cho mỗi bản ghi đáp ứng tiêu chí của bạn

Bài tập thực hành

Nếu bạn muốn kiểm tra kỹ năng của mình bằng cách sử dụng hàm SQL COUNT, hãy thử một số bài tập thực hành của chúng tôi

Các bài tập này cho phép bạn thử các kỹ năng của mình với hàm COUNT. Bạn sẽ được cung cấp các câu hỏi mà bạn cần phải giải quyết. Sau mỗi bài tập, chúng tôi cung cấp lời giải để bạn có thể kiểm tra đáp án của mình. Hãy thử một lần

Làm cách nào để đếm các cột trong PHP?

Sử dụng PDOStatement. columnCount[] để trả về số cột trong tập kết quả được đại diện bởi đối tượng PDOStatement. Nếu đối tượng PDOStatement được trả về từ PDO. truy vấn [], số lượng cột có sẵn ngay lập tức.

Chúng ta có thể đếm số cột trong bảng không?

CHỌN số lượng[*] là No_of_Column TỪ information_schema. columns WHERE table_name ='geeksforgeeks'; Ở đây, COUNT[*] đếm số lượng cột mà INFORMATION_SCHEMA trả về. từng cột một và cung cấp số lượng cuối cùng của các cột.

Làm cách nào để lấy số cột trong bảng MySQL?

Để tìm số cột trong bảng MySQL, hãy sử dụng hàm đếm[*] với information_schema. cột và mệnh đề WHERE .

Đếm Column_name là gì?

COUNT[column_name] sẽ bao gồm các giá trị trùng lặp khi đếm . Ngược lại, COUNT [DISTINCT column_name] sẽ chỉ đếm các hàng riêng biệt [duy nhất] trong cột đã xác định.

Chủ Đề