簡體   English   中英

在MySQL數據庫中查找具有最大行數的表

[英]Find Table with maximum number of rows in a database in mysql

正如問題標題所暗示的那樣,我想在特定數據庫中找到具有最大行數(條目)的表。 我已經可以使用下面的查詢提取特定數據庫中所有表的名稱。

SELECT TABLE_NAME
FROM information_schema.tables
WHERE TABLE_SCHEMA="Some_Database";

除此以外,我該如何進行? 我一直試圖為上述目的制定一個嵌套查詢,但無法提出一些建議(我對它們不太滿意)。 請幫忙。

編輯:如此鏈接中所述,table_rows字段未提供准確的結果。 這就是為什么我需要對每個表執行類似MAX (Count(*))的原因。

試試這個……

SELECT TABLE_NAME,MAX(TABLE_ROWS)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = "DB_Name";

要么

請嘗試以下兩個查詢以獲得實際結果。

查詢1:

SELECT CONCAT('SELECT COUNT(*) as cnt FROM ', table_name, ' union all') 
      FROM information_schema.tables WHERE table_schema = 'your_db_name';

查詢2:

select max(cnt) from (paste the result of first query and remove 
last union all keyword) as tmptable;

那這個呢:

SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = "Some_Database"
ORDER BY TABLE_ROWS DESC
LIMIT 1;

information_schema.tables有一個名為table_rows的列,因此:

SELECT   table_name 
FROM     information_schema.tables 
WHERE    table_schema = 'Some_Database'
ORDER BY table_rows DESC
LIMIT    1;

我們可以使用此查詢獲取MySQL中具有最大行數的表名

SELECT  
TABLE_NAME,MAX(TABLE_ROWS)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'DB_Name'
GROUP BY TABLE_NAME ORDER BY MAX(TABLE_ROWS) DESC LIMIT 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM