Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从MySql查询的结果中获取计数,其中每个结果本身就是一个不同的表?_Mysql_Sql_Database_Mysql Workbench - Fatal编程技术网

如何从MySql查询的结果中获取计数,其中每个结果本身就是一个不同的表?

如何从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查询结果集:-

返回的结果如下:--

MovieComedyMovies CarsSportsCars Shows MedyShows

这三个结果是不同的表本身。我想对这些表执行计数,这是我在结果中得到的——检查这些表是否包含任何数据。
另外,我使用的是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