mysql - MYSQL 表内的计算

标签 mysql

我在 mysql 中有一些数据,想知道是否可以创建一个新表,然后添加某种可以对现有表进行计数的公式?例如,我有一个名为“Reviews”的表,其中包含 150 行。我可以在 mysql 中拥有一个单独的表,它可以告诉我有 150 行,而无需我登录才能看到吗?任何帮助表示赞赏。

最佳答案

您可以创建一个包含计数并具有除表之外的其他权限的VIEW

CREATE VIEW ReviewCount AS SELECT COUNT(*) FROM Reviews;

此 View 将具有定义用户的读取访问权限,您可以向其他用户隐藏基础表,而他仍然可以使用该 View 来获取计数。

问题是,就数据库而言,其他用户仍然必须登录。如果您想要真正的匿名访问,则必须将数据库包装在您自己的代码中,例如 Web 服务.

编辑:您的评论表明您正在寻找的只是多个表中的计数汇总表。在这种情况下,您可以简单地将 View 创建为;

CREATE VIEW test_count AS 
 SELECT (SELECT COUNT(*) FROM reviews) reviewCount, 
        (SELECT COUNT(*) FROM records) recordCount,
        ...
        ;

An SQLfiddle to test with .

关于mysql - MYSQL 表内的计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20812755/

相关文章:

php - 使用 PHP 检索 URL 中显示的用户 ID

mysql - Yii2多表网格数据(选择多表记录)

c# - 如何使用 C# 代码在 MySql 数据库中插入 DateTime

mysql - 无法连接到 Windows 上 X.X.X.X 上的 mysql 服务器

php - MySQL SELECT 条件基于最后一行和日期间隔

mysql - AI专栏与Percona XtraDB Cluster的数值存在差距

mysql 列子字符串 ()

php - 选择可用资源的逻辑

mysql - 即使计数为 0,如何获取行?只有一张 table

php - 操作/格式化数据库输出