【问题标题】:How to combine two independent mysql count query result in a single view如何将两个独立的mysql计数查询结果组合在一个视图中
【发布时间】:2020-01-23 16:04:19
【问题描述】:

我有两个独立的查询:

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)

如果可以的话怎么办??

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您可以使用带有子查询的SELECT 在一行中显示总数:

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

    demo on dbfiddle.uk

    【讨论】:

    • 我也会这样做。
    【解决方案2】:

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

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

    【讨论】:

    • 感谢您的回答。但有一件事我需要知道它有多好,而不是使用子查询
    • 加入到底是什么?你不需要在这里加入
    猜你喜欢
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多