繁体   English   中英

MySQL查询以计算多个表中的所有记录

[英]MySQL Query to count all records from multiple table

我想计算我尝试过的所有表中的所有记录,但这不起作用。

DELIMITER $
CREATE FUNCTION countr(p_tablename varchar(10)) RETURN int(10) BEGIN DECLARE ra int; DECLARE table_count INT;
SET ra=
  (SELECT COUNT(*) INTO table_count
   FROM information_schema.tables
   WHERE TABLE_SCHEMA = 'dest_northwind'
     AND TABLE_NAME = p_tablename); RETURN ra; END$ DELIMITER ;

这将做到...

SELECT SUM(TABLE_ROWS) 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = DATABASE();

更新 - 提问者希望只获取表子集的行,所以我更新了它以包含单个表的总和或这些表的计数。

表行的总和...

SELECT SUM(TABLE_ROWS) 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = DATABASE()
    AND TABLE_NAME IN ('Table2','Table1');

按表行...

SELECT TABLE_NAME,SUM(TABLE_ROWS) 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = DATABASE()
    AND TABLE_NAME IN ('Table2','Table1')
GROUP BY TABLE_NAME;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM