我有一个检查大小的数据库,因为客户端可能只使用一定数量的空间,而且他们可能只有一定数量的“页面”,我也将它们放入数据库中。
我有以下 sql 查询:
SELECT table_schema "Servers",
sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;
这将返回一个包含我需要的信息的表格。但是,我想添加 3 个列来显示每个用户的使用量。首先我尝试这样:
SELECT table_schema "Servers",
sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB",
property_value "MaxWebhotelSize"
FROM information_schema.TABLES, properties
WHERE property_key LIKE 'MaxWEbhotelSize'
GROUP BY table_schema
UNION
SELECT property_value "MaxPages"
FROM properties
WHERE property_key LIKE 'MaxPages';
这应该需要添加两个我需要的列。如果我省略了 union 和 down 的所有内容,它会很好地工作并将有关最大 webhotel 大小的信息添加到表中,但是当我尝试添加另一个列时,我收到一条错误消息,提示“使用的 SELECT 语句具有不同的列数”。我尝试了其他一些方法,但似乎无法找到一个获得正确结果的好方法。我对 SQL 很陌生,如果这是一个愚蠢的问题,我很抱歉。