在MYSQL表中计算

时间:2013-12-28 09:03:05

标签: mysql

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

1 个答案:

答案 0 :(得分:0)

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

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

此视图将具有定义用户的读取权限,您可以隐藏其他用户的基础表,同时他仍然可以使用该视图来获取计数。

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

编辑:您的评论表明您正在寻找的只是一个来自多个表的计数汇总表。在这种情况下,您只需将视图创建为;

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

An SQLfiddle to test with