mysql - 如何从 MySql 查询的结果中获取计数,其中每个结果本身都是不同的表?
问题描述
我有一个 Mysql 查询的结果集,如下所示:-
select concat(category_name,subcategory_name) from category
返回的结果是这样的:--
电影喜剧电影汽车体育汽车节目
喜剧
节目
这 3 个结果本身就是不同的表。
我想对这些表执行 Count() 得到结果,即检查这些表是否包含任何数据。
PS - 我正在使用 MySQl 5.6
解决方案
如果我正确理解您的评论,您可以select
像这样编写子查询子查询。
SELECT (SELECT COUNT(*) FROM MovieComedyMovies) AS MovieComedyMovies,
(SELECT COUNT(*) FROM CarsSportsCars) AS CarsSportsCars
但从你的问题来看,你可能想要这样做。
CASE WHEN
带SUM
功能。
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)
推荐阅读
- css - ngbTooltipConfig 工具提示类未加载自定义样式工具提示
- linux - 数学:CDF perl 库 - 安装问题
- kotlin - 为什么 Kotlin smart cast 不起作用,即使两者都是`val`s
- data-binding - KnockoutJs : ko.mapping.fromJS 和 binding => 如何正确执行?
- sql-server - SQL Server 中的数字格式
- spring-boot - Splunk 与 Spring Boot 的集成
- c - C代码逆向工程中错误的用户名和密码
- java - 有没有办法让我在另一个类的 JList 中显示双链表类的输出?爪哇
- javascript - Vuetify - 改变卡片加载方式?
- .net - 本地化视图不从资源文件返回值