sql - from 子句中可以有两个子查询吗?
问题描述
我正在编写这个查询,它必须从同一个表中计算两种类型的数据,但具有不同的属性。
我已经尝试在子查询之间添加“AND”和“,”,但它不能以这些方式工作。
SELECT COUNT(sb1.prop) AS PROP1, COUNT(sb2.prop) AS PROP2
FROM (SELECT * FROM TABLE t WHERE t.prop LIKE '%SOMETHING%') AS sb1
AND/,/WHATEVER WORKS
(SELECT * FROM TABLE t WHERE t.prop LIKE '%SOMETHING ELSE%') AS sb2
我需要计算有多少条记录具有像SOMETHING和SOMETHING ELSE这样的道具,如何在单个查询 from 子句中使用两个子查询来做到这一点?我有类似“算术溢出错误将表达式转换为数据类型数字”之类的错误
解决方案
我认为您可以在这里使用条件聚合:
select
sum(case when prop like '%SOMETHING%' then 1 end) sb1,
sum(case when prop like '%SOMETHING ELSE%' then 1 end) sb2
from mytable
注意:使用此当前设置,匹配的'%SOMETHING%'
内容将在每个中计算一次sum()
(但我只能想象这是假设的数据和过滤器)。
推荐阅读
- linux - 在多行块中拆分命令输出以进行进一步处理
- git - 无法使用变基命令
- c++ - 使用谷歌基准库时全局设置时间单位并使用挂钟时间?
- amazon-web-services - DDB Raw AttributeValue 映射到 Object 之间的映射
- python - 如何按照指示从字符串中分离所有数字?
- matlab - 使用 Matlab 实现的 Prewitt 边缘检测器提供的边缘比内置函数厚
- uml - 用例规范包括和扩展关系
- c - 输入 n(一个正整数)数字并计算它们的总和、平均值和数字的平方和
- java - Eclipse 错误“构建路径包含重复条目”
- c++ - C++字符串中的At()函数和下标运算符有什么区别?