Bạn có thể sử dụng INFORMATION_SCHEMA.COLUMNS để nhận bảng có số cột lớn nhất.
Cú pháp như sau -
SELECT TABLE_NAME, COUNT(*) AS anyAliasName FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_NAME ORDER BY yourAliasName DESC LIMIT 1;
Sau đây là truy vấn để chọn bảng có số cột lớn nhất. Chúng tôi nhận được kết quả này vì chúng tôi đã đặt số lượng thành DESC và sử dụng GROUP BY TABLE_NAME -
mysql> SELECT TABLE_NAME, COUNT(*) as TOTAL_COUNT FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_NAME ORDER BY TOTAL_COUNT DESC LIMIT 1;
Điều này sẽ tạo ra kết quả sau -
+-----------------------------------+-------------+ | TABLE_NAME | TOTAL_COUNT | +-----------------------------------+-------------+ | table_lock_waits_summary_by_table | 68 | +-----------------------------------+-------------+ 1 row in set (0.12 sec)
Bạn cũng có thể nhận được số lượng cột ít nhất bằng cách sử dụng truy vấn dưới đây. Chúng tôi nhận được kết quả này vì chúng tôi đã đặt số lượng thành ASC và sử dụng GROUP BY TABLE_NAME -
mysql> SELECT TABLE_NAME, COUNT(*) as TOTAL_COUNT FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_NAME ORDER BY TOTAL_COUNT ASC LIMIT 1;
Điều này sẽ tạo ra kết quả sau -
+-----------------------+-------------+ | TABLE_NAME | TOTAL_COUNT | +-----------------------+-------------+ | removenullrecordsdemo | 1 | +-----------------------+-------------+ 1 row in set (0.14 sec)