如何从MySql查询的结果中获取计数,其中每个结果本身就是一个不同的表?
我有一个类似以下内容的Mysql查询结果集:- 返回的结果如下:-- MovieComedyMovies CarsSportsCars Shows MedyShows 这三个结果是不同的表本身。我想对这些表执行计数,这是我在结果中得到的——检查这些表是否包含任何数据。如何从MySql查询的结果中获取计数,其中每个结果本身就是一个不同的表?,mysql,sql,database,mysql-workbench,Mysql,Sql,Database,Mysql Workbench,我有一个类似以下内容的Mysql查询结果集:- 返回的结果如下:-- MovieComedyMovies CarsSportsCars Shows MedyShows 这三个结果是不同的表本身。我想对这些表执行计数,这是我在结果中得到的——检查这些表是否包含任何数据。 另外,我使用的是MySQl 5.6,如果我正确理解了您的评论,您可以在select子句上编写一个子查询,如下所示 SELECT (SELECT COUNT(*) FROM MovieComedyMovies) AS MovieCo
另外,我使用的是MySQl 5.6,如果我正确理解了您的评论,您可以在select子句上编写一个子查询,如下所示
SELECT (SELECT COUNT(*) FROM MovieComedyMovies) AS MovieComedyMovies,
(SELECT COUNT(*) FROM CarsSportsCars) AS CarsSportsCars
但从你的问题来看,你可能想这样做
使用和函数时的情况
select SUM(CASE WHEN concat(category_name,subcategory_name) = 'MovieComedyMovies' THEN 1 ELSE 0 END),
SUM(CASE WHEN concat(category_name,subcategory_name) = 'CarsSportsCars' THEN 1 ELSE 0 END)
from category
编辑
从你的评论我猜你可以试试这个
select concat(category_name,subcategory_name),count(*)
from category
Group by concat(category_name,subcategory_name)
出于历史目的,我复制了您的示例查询:
select concat(category_name,subcategory_name) from category
假设这是仍然绘制数据的查询:
SELECT count(Name) as Total, Name
FROM (
select concat(category_name,subcategory_name) as Name from category
) data
group by Name
沿着这些路线的东西。如果您可以使用构建一个,您可能会得到一个更具体的答案。您能提供一些示例数据和预期结果吗?假设MovieComedyMovies表有10条记录,CarsSportsCars有20条记录。所以我想要的是从我的初始查询中得到10,20。我认为,我需要创建某种过程来循环遍历每个结果并获得计数。设置并使用准备好的语句。谢谢@D-Shih,不过我要找的是-从分类查询中->选择concatcategory\u name,subcategory\u name,获得表的计数结果。到目前为止,我尝试的是-从选择concatcategory_name,subcategory_name from中选择count*category@sumit你试过我的第二个问题了吗?我想这是工作。或者你可以把一些样本数据和期望的结果。这里的问题是我不知道有多少结果选择了concatcategory\u name,subcategory\u name从category返回&结果不断变化。这就是实现第二个查询非常困难的原因。我编辑了我的答案,你似乎添加了分组依据,Alisa的名字可以满足你的期望。我得到一个错误:-字段列表中的未知列“grp”谢谢@Hector,查询在“数据”处出错-无法识别的关键字
SELECT count(Name) as Total, Name
FROM (
select concat(category_name,subcategory_name) as Name from category
) data
group by Name