Mysql 计算不同表数据库的行数
如何查找不同表的行数。即Mysql 计算不同表数据库的行数,mysql,sql,count,Mysql,Sql,Count,如何查找不同表的行数。即 我使用的是mysql服务器,我想要两个表中的行总数 这就是我迄今为止所尝试的 SELECT COUNT(*) FROM student_it; UNION ALL SELECT COUNT(*) FROM student_cs; SUM(COUNT(*)); 您可以这样使用sp\msforeachtable: Use <your_db>; EXEC sp_MSforeachtable N'select count(*) from ?;'; 使
我使用的是mysql服务器,我想要两个表中的行总数 这就是我迄今为止所尝试的
SELECT COUNT(*) FROM student_it;
UNION ALL
SELECT COUNT(*) FROM student_cs;
SUM(COUNT(*));
您可以这样使用
sp\msforeachtable
:
Use <your_db>;
EXEC sp_MSforeachtable N'select count(*) from ?;';
使用;
EXEC sp_MSforeachtable N'select count(*)from?;';
此外,如果需要筛选数据,可以使用
@wherend
参数。在WHERE
子句中添加表名,并执行以下查询:
SELECT
T.Name AS TableName,
S.Row_count AS RecordsCount
FROM
sys.dm_db_partition_stats S
INNER JOIN sys.tables T ON T.object_id = S.object_id
Where
Object_Name(S.Object_Id) IN ('Employees','Country')
注意:
员工、国家/地区
是表名。您也可以尝试以下sql:
SELECT SUM(tot) FROM
(
SELECT COUNT(*) tot FROM `student_it`
UNION ALL
SELECT COUNT(*) tot FROM `student_cs`
) sub
<>但是我认为你应该考虑把所有学生都存储在一个代码>学生< /代码>表中。 < P>我想你要做的是这个……/P>
SELECT SUM (abc)
FROM (SELECT COUNT (*) abc
FROM student_it
UNION ALL
SELECT COUNT (*)
FROM student_cs)
你到底想要什么?数据库中所有表或少数表的计数。你在使用哪个数据库?你的关系数据库管理系统是什么?尝试删除
student_it
后的分号,并删除SUM(COUNT(*))
然后使用Union运行查询我使用的是mysql服务器,我希望两个表中的行总数它是子查询的别名。您需要在mysql中这样做(如果我没有弄错的话),否则您将得到一个错误,每个派生表都必须有自己的别名。