我想计算所有表中的所有记录我试过了,但这不起作用。
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;
关于MySQL查询来计算多个表中的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37131247/