MySQL组合两个查询以获得两个计数
“我的表”包含每个项目都有一个类别号。我有一个很好的查询,它现在可以计算在每个类别中找到的许多项。如果我在搜索“奶酪”这个词 现在我有了一个所有有“奶酪”的类别编号的列表,以及每个类别中有多少奶酪的计数。我还使用第二个查询来计算“奶酪”项目的总数。有没有办法不进行第二次查询,而是将所有itemcounts相加以获得总数…因此只需要一次查询MySQL组合两个查询以获得两个计数,mysql,select,count,nested-queries,Mysql,Select,Count,Nested Queries,“我的表”包含每个项目都有一个类别号。我有一个很好的查询,它现在可以计算在每个类别中找到的许多项。如果我在搜索“奶酪”这个词 现在我有了一个所有有“奶酪”的类别编号的列表,以及每个类别中有多少奶酪的计数。我还使用第二个查询来计算“奶酪”项目的总数。有没有办法不进行第二次查询,而是将所有itemcounts相加以获得总数…因此只需要一次查询 `您可以在GROUP BY子句中添加一个带有ROLLUP的,这将在表的末尾为您提供一个额外的行(类别的NULL值),其中包含奶酪项目的总数,例如 $resul
`您可以在
GROUP BY
子句中添加一个带有ROLLUP的,这将在表的末尾为您提供一个额外的行(类别的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
您可以在GROUP BY
子句中添加一个WITH ROLLUP
,这将在表的末尾为您提供一个额外的行(类别值为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