【问题标题】:How can I merge these two queries into one?如何将这两个查询合并为一个?
【发布时间】:2011-06-28 00:00:07
【问题描述】:
$a = mysql_query("SELECT COUNT(*) as `count_1` FROM `table_1` WHERE `this_1` = '1'");
$b = mysql_fetch_assoc($a);

$c = mysql_query("SELECT COUNT(*) as `count_2` FROM `table_1` WHERE `this_2` = '1'");
$d = mysql_fetch_assoc($c);

【问题讨论】:

    标签: php mysql merge


    【解决方案1】:

    使用 UNION ALL 使其成为单个查询:

    SELECT COUNT(*) as count_1 FROM table_1 WHERE this_1 = '1' 联合所有 SELECT COUNT(*) as count_2 FROM table_1 WHERE this_2 = '1'

    这样会导致

    $a = mysql_query("...the complete query from above...");
    

    【讨论】:

      【解决方案2】:

      您可以在 COUNT() 中使用条件来计算出现次数。这样,您将获得包含多列的单行:

      SELECT COUNT(this_1 = '1' OR NULL) AS count_1, COUNT(this_2 = '1' OR NULL) AS count_2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-15
        • 1970-01-01
        • 2022-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多