如何在单个视图中组合两个独立的mysql计数查询结果

时间:2016-11-22 07:45:22

标签: mysql

我有两个独立的查询:

SELECT COUNT(*) FROM USER;

SELECT COUNT(*) FROM POSTS;

对于这些结果我创建了一个名为 total.sql 的mysql脚本文件:

USE matchstix;
SELECT COUNT(*) FROM USER;
SELECT COUNT(*) FROM POSTS;

当我在mysql shell上运行此脚本然后将结果作为

mysql>source /home/total.sql;

    Database changed
    +-------+
    |COUNT(*) |
    +-------+
    | 94122 |
    +-------+
    1 row in set (0.03 sec)

    +----------+
    | COUNT(*) |
    +----------+
    |    94007 |
    +----------+

问题在于我如何得到如下结果:

+----------+------------+
| COUNT(*) | COUNT(*)   |
+----------+-------------
|    94007 |  94122     |
+----------+--------------
1 row in set (0.44 sec)

是否可能,如果是,那么如何?

2 个答案:

答案 0 :(得分:3)

您可以使用子查询来获得预期结果:

SELECT 
    (SELECT COUNT(*) FROM USER) AS count_user,
    (SELECT COUNT(*) FROM POSTS) AS count_post

演示: http://sqlfiddle.com/#!9/ccdaff/1

答案 1 :(得分:1)

尝试使用SQL查询的JOIN语句。基本上,你应该为两个不同的表写两个select语句,并将它们连接成一个视图。

我建议你看看这个:https://stackoverflow.com/a/23700994/1867076