MySQL结合两个查询获得两个计数

时间:2019-03-29 01:54:55

标签: mysql select count nested-queries

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

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

现在,我列出了所有带有“奶酪”的类别编号,并列出了每个类别中有多少个类别。我还使用第二个查询来计算“奶酪”项目的总数。除了进行第二次查询外,还有一种方法可以将所有项目计数相加以获得总数……因此只需要一个查询?

`

1 个答案:

答案 0 :(得分:2)

您可以在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

示例输出:

{{1}}