Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mysql中查找数据库中最大行数的表_Mysql - Fatal编程技术网

在mysql中查找数据库中最大行数的表

在mysql中查找数据库中最大行数的表,mysql,Mysql,正如问题标题所示,我希望找到在特定数据库中具有最大行数(条目)的表。我已经能够使用下面的查询提取特定数据库中所有表的名称 SELECT TABLE_NAME FROM information_schema.tables WHERE TABLE_SCHEMA="Some_Database"; 我该如何超越这一点??出于上述目的,我一直在尝试构造一个嵌套查询,但却找不到任何东西(我对它们不太熟悉)。请帮忙 编辑:如本表所示,“表格行”字段不会给出准确的结果。这就是为什么我需要为每个表执行类似于MA

正如问题标题所示,我希望找到在特定数据库中具有最大行数(条目)的表。我已经能够使用下面的查询提取特定数据库中所有表的名称

SELECT TABLE_NAME
FROM information_schema.tables
WHERE TABLE_SCHEMA="Some_Database";
我该如何超越这一点??出于上述目的,我一直在尝试构造一个嵌套查询,但却找不到任何东西(我对它们不太熟悉)。请帮忙

编辑:如本表所示,“表格行”字段不会给出准确的结果。这就是为什么我需要为每个表执行类似于
MAX(Count(*)
的操作。

这是怎么回事:

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

information\u schema.tables
有一列名为
table\u rows
,因此:

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

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';
select max(cnt) from (paste the result of first query and remove 
last union all keyword) as tmptable;
查询2:

SELECT CONCAT('SELECT COUNT(*) as cnt FROM ', table_name, ' union all') 
      FROM information_schema.tables WHERE table_schema = 'your_db_name';
select max(cnt) from (paste the result of first query and remove 
last union all keyword) as tmptable;

我们可以使用this查询获得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;