【问题标题】:MySQL Combining two queries to get two countsMySQL 结合两个查询得到两个计数
【发布时间】:2019-03-29 01:54:55
【问题描述】:

我的表格包含每个都有一个类别编号的项目。我有一个很好的查询,现在可以计算它在每个类别中找到的许多项目。如果我在搜索“奶酪”这个词,它看起来像这样

$result=mysql_query("SELECT category, COUNT(*) AS 'itemcount' 
                     FROM mytable 
                     WHERE title like '%cheese%' 
                     GROUP BY category 
                     order by itemcount")

现在我有一个包含“奶酪”的所有类别编号的列表,以及每个类别中有多少个。我还使用第二个查询来计算“奶酪”项目的总数。与其进行第二次查询,有没有一种方法可以将所有项目计数相加以获得总数......所以只需要一次查询?

`

【问题讨论】:

    标签: mysql select count nested-queries


    【解决方案1】:

    您可以将WITH ROLLUP 添加到您的GROUP BY 子句中,这将在表格末尾为您提供一个额外的行(类别为NULL 值),其中包含奶酪项目的总数,例如

    $result=mysql_query("SELECT category, COUNT(*) AS 'itemcount' 
                         FROM mytable 
                         WHERE title like '%cheese%' 
                         GROUP BY category WITH ROLLUP 
                         ORDER BY itemcount");
    

    示例输出:

    category    itemcount
    restaurant          5
    hotel               2
    shop               11
    NULL               18
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 2022-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      相关资源
      最近更新 更多