Bạn có thể dùng INFORMATION_SCHEMA.COLUMNS để lấy bảng có số cột nhiều nhất.
Cú pháp:
SELECT TABLE_NAME, COUNT(*) AS tenBibDanh FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_NAME ORDER BY tenBibDanhCuaBan DESC LIMIT 1;
Truy vấn chọn bảng có số cột lớn nhất:
mysql> SELECT TABLE_NAME, COUNT(*) AS TOTAL_COUNT FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_NAME ORDER BY TOTAL_COUNT DESC LIMIT 1;
Kết quả:
+-----------------------------------+-------------+ | TABLE_NAME | TOTAL_COUNT | +-----------------------------------+-------------+ | table_lock_waits_summary_by_table | 68 | +-----------------------------------+-------------+ 1 row in set (0.12 sec)
Bạn cũng có thể lấy bảng có ít cột nhất với truy vấn sau (ORDER BY ASC):
mysql> SELECT TABLE_NAME, COUNT(*) AS TOTAL_COUNT FROM INFORMATION_SCHEMA.COLUMNS GROUP BY TABLE_NAME ORDER BY TOTAL_COUNT ASC LIMIT 1;
Kết quả:
+-----------------------+-------------+ | TABLE_NAME | TOTAL_COUNT | +-----------------------+-------------+ | removenullrecordsdemo | 1 | +-----------------------+-------------+ 1 row in set (0.14 sec)