首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在from子句中可以有两个子查询吗?

在from子句中可以有两个子查询吗?
EN

Stack Overflow用户
提问于 2019-11-11 09:56:09
回答 2查看 199关注 0票数 0

我正在编写这个查询,它必须从同一个表中计数两种类型的数据,但属性不同。

我已经尝试在子查询之间添加" and“和”and ",但它并不以这些方式工作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

我需要计算有多少记录有像 the the这样的道具,如何在一个子句的一个查询中使用两个子查询来做到这一点?我有诸如“算术溢出错误将表达式转换为数据类型数值”之类的错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-11 10:02:37

你所描述的是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT COUNT(sb1.prop) AS PROP1,
       COUNT(sb2.prop) AS PROP2
FROM (SELECT * FROM TABLE t WHERE t.prop LIKE '%SOMETHING%') AS sb1
     CROSS APPLY (SELECT * FROM TABLE t WHERE t.prop LIKE '%SOMETHING ELSE%') AS sb2;

然而,这不会返回您所追求的结果( PROP1PROP2都具有相同的值)。上述内容实际上与以下内容相同:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT COUNT(*) AS PROP1,
       COUNT(*) AS PROP2
FROM TABLE t1
     CROSS JOIN TABLE t2
WHERE t1.prop LIKE '%SOMETHING%'
  AND t2.prop LIKE '%SOMETHING ELSE%';

您可以通过在子查询中执行聚合来解决这个问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT (SELECT COUNT(*) FROM TABLE t WHERE t.prop LIKE '%SOMETHING%') AS PROP1,
       (SELECT COUNT(*) FROM TABLE t WHERE t.prop LIKE '%SOMETHING ELSE%') AS PROP2;

但是,考虑到这些表是相同的,最好使用条件聚合:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT COUNT(CASE WHEN t.prop LIKE '%SOMETHING%' THEN 1 END) AS PROP1,
       COUNT(CASE WHEN t.prop LIKE '%SOMETHING ELSE%' THEN 1 END) AS PROP2
FROM TABLE t;
票数 1
EN

Stack Overflow用户

发布于 2019-11-11 10:02:40

我认为您可以在这里使用条件聚合:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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()中计算一次(但我只能想象这是假设性数据和过滤器)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58806376

复制
相关文章
手工模拟实现 Docker 容器网络!
如今服务器虚拟化技术已经发展到了深水区。现在业界已经有很多公司都迁移到容器上了。我们的开发写出来的代码大概率是要运行在容器上的。因此深刻理解容器网络的工作原理非常的重要。只有这样将来遇到问题的时候才知道该如何下手处理。
开发内功修炼
2022/03/24
8170
手工模拟实现 Docker 容器网络!
Docker容器迁移案例
最近一个客户,想把之前其他同事运行在A机器的服务(容器运行),迁移至B机器进行测试。为了完成客户的任务。我这边采取下面几个步骤进行恢复。
Linux运维技术之路
2022/06/07
8300
Docker容器迁移案例
迁移 Docker 容器储存位置
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
soulteary
2019/09/27
2.3K0
Docker容器迁移速度快不快?
在虚拟云为主的云计算时代,想迁移一个应用或数据库,废尽周折,一般会采用重新部署或者采用专业的迁移工具进行打包迁移。在Docker时代,迁移速度、效率会超越你的想象,两个命令搞定。
希望的田野
2019/09/24
8630
Docker容器迁移速度快不快?
docker笔记:手工编译docker
4/  在home/docker/docker下,如果没有autogen文件夹,那就建一个。下辖dockerversion/dockerversion.go
超级大猪
2019/11/22
4540
PHP7.4 Docker容器镜像
该镜像基于 php:7.4-fpm 构建,内置 composer、redis、mysql、swoole 、mongo 等常见扩展
Petrochor
2022/06/07
9440
[入门] Docker将nginx容器和php容器关联起来
首先是在菜鸟教程里看的教程,里面把各种镜像、容器的概念和基本操作都说了。但是每一步都直到怎么测试运行起来。
宣言言言
2019/12/15
3.1K0
将本地docker容器迁移到服务端
docker commit -a "zhaoolee" -m “完成uwsgi的配置” qs zhaoolee-qs:1.0
zhaoolee
2018/08/02
1K0
将本地docker容器迁移到服务端
Docker容器云服务器迁移备忘录
腾讯云服务器到期了,续费是真鸡儿贵,基于网站也没啥流量,就索性买了腾讯云的轻量应用服务器。
小柒2012
2022/12/07
1.5K0
Docker容器云服务器迁移备忘录
基于docker的php开发环境,多容器
之前写过一篇 vagrant + virtualbox搭建一个可移动的开发环境,现在有了更好的选择,基于docker的php开发环境 拥有前者所有的优点
崔哥
2022/05/25
4380
基于docker的php开发环境,多容器
Docker下手工配置MySQL主从
本章在Docker环境下创建两个MySQL容器,再配置成一主一从,今天的配置都是手工输入命令完成的,这么做是为了熟悉MySQL主从配置的基本步骤,为接下来的实战打好基础,后面的章节中,我们自制MySQL主从镜像,实现以最简化的方式搭建一个MySQL主从环境;
程序员欣宸
2022/05/09
5240
Docker下手工配置MySQL主从
docker容器通过nginx+php搭建http/https站点
注意:php7需要安装mysql扩展,才能正常连接 准备阶段 # 创建目录: # cert 存放证书文件的目录 # log 存放日志文件的目录 # nginx_conf 存放nginx.conf配置文件的目录 # wwwroot 存放网站文件的根目录 mkdir -p /www/cert /www/log /www/nginx_conf /www/wwwroot # nginx.conf配置文件 配置http(跳转到https)/ https 访问
醉生萌死
2018/11/13
2.8K1
docker启动mysql容器失败_docker容器
Docker 是一种工具,它让容器创建,部署和运行应用程序变得更加容易。 容器使开发人员可以将应用程序与所需的所有部分(如库和其他依赖项)打包在一起,并将其作为一个包进行部署。 这样,借助容器,开发人员可以放心,该应用程序可以在任何其他Linux机器上运行,而不用管该机器的环境配置。
全栈程序员站长
2022/11/10
4.6K0
docker启动mysql容器失败_docker容器
Docker容器
Docker利用容器来开发、运行应用。容器是镜像创建的实例。它可以被启动、开始、停止、删除。每个容器都是 相互隔离的、保证安全的平台。类似安装系统的电脑实体。简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环 境)和跑在上面的应用。
清风穆云
2021/08/09
8570
Docker镜像与容器备份迁移(export、import与commit、save、load)
 用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。
非著名运维
2022/06/22
14.6K0
Docker 容器
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体,容器可以被创建、启动、停止、删除、暂停等 。
happyJared
2022/05/13
5250
Docker容器
如果容器理解为独立运行的一个或一组应用,以及它们的运行态环境。 而虚拟机则为可理解为跑在上面的应用。
yaohong
2019/09/11
8260
docker容器
其实上图关于容器的部分并不准确,APP也就是容器并不是运行在Docker上的,Docker只是在帮助用户创建进程时添加了各种Namespace参数,容器是特殊的进程,还是运行在操作系统上的。
编程黑洞
2023/03/06
1.2K0
docker容器
docker容器跨服务器的迁移方式export和save
程序放在docker里面迁移起来很是方便,像是以前的话,需要重新部署环境和静态文件。 放在docker里面的话,只是需要export备份封装后,scp、rsync迁移到别的服务器就可以了。 [[email protected] ~]# docker ps -a CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAME
老七Linux
2018/05/31
1.4K0
手工在Docker for mac上安装Kubernetes
通常开发都是使用单机版的Docker环境,不太操心Docker集群的事情。 而在这种单机环境下,命令行操作Docker觉得很好用了,如果碰到解决不了的问题,还有脚本,如果说有什么事是一个脚本解决不了的。。。那就是两个。。。 :) 久而久之,很多事情都习惯了用Docker的角度去思考,比如服务发现、负载均衡,直接使用Docker的端口映射配合HAPROXY感觉就足够了。然后在这方面的知识也就固化在了这个点,再也没有更新。 而实际上Kubernetes大概每三个月发出一个新版本的速度,快速的
俺踏月色而来
2018/06/20
2.2K0

相似问题

为什么php手工迁移不适用于Docker?

18

php手工迁移- Laravel

39

PHP手工迁移异常

11

php手工迁移失败

36

Browserify不适用于Docker容器

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文