sql not in 查询结果为空解决

2023-11-10

使用下列sql语句进行查询时,发现出来的结果为0

select count(distinct id) from result where date=20221205 and us_id='xxx' and id not in (select distinct id from xxx where date>=20221128 and date <= 20221204);

上述的sql语句,逻辑还是比较清晰:
1.从result表中查询id列。
2.在子查询中,从xxx表中也查询id列。
3.通过not in,查找在result中且不在xxx表中的id,并对id做去重,最后进行count计数操作。

result表与xxx表中都有数据,且result表中的id数量多余xxx表,正常应该输出一个正整数,但是该语句查询出来的结果为0,很显然不符合预期。

那么问题在哪里呢?
因为not in 转换为条件对比时候,需要与每个值进行不等于对比,并且用逻辑与and进行连接。除此以外,还会与NULL值进行不等于对比。而任何值与NULL值进行对比,结果都为null,即idxxx <> null 返回的都为false,最终not in子句不会返回任何一行数据。

总结一下就是,如果not in中只要有一个id位null,就会导致返回的结果为0。

为了解决上述返回结果不准确的问题,可以将子查询中的null值去掉即可。

select count(distinct id) from result where date=20221205 and us_id='xxx' and id not in (select distinct id from xxx where date>=20221128 and date <= 20221204 and id is not null);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql not in 查询结果为空解决 的相关文章

  • 具有 LINQ 支持的最完整的 ORM?

    我正在寻找一个提供完整或接近完整的 LINQ 支持的 ORM LINQ 到 SQL 支持 LINQ 内部的所有内容 Contains Math Log 等 在不创建新数据上下文的情况下无法预先加载关系属性 ADO NET 实体框架 糟糕的
  • 将列的值添加到 LIKE 语句中?

    我有 3 个标签表 标签类别和使用过的标签 我想要获取所有标签的列表以及已使用标签的计数 所使用标签的格式是每个具有标签的文档 ID 的逗号分隔值 我一直在尝试类似的方法 但无法将tags tag 字段的值插入到LIKE 语句中 SELEC
  • 如何打印Oracle中过程的定义?

    oracle中有没有办法查看过程的结构是什么 我正在尝试记录并运行程序 并希望将实际的程序结构存储在我的日志中 您可以查询ALL SOURCE table SELECT text FROM all source WHERE owner lt
  • 消息 102,级别 15,状态 1,第 1 行“ ”附近的语法不正确

    我试图从临时表中查询 但不断收到此消息 Msg 102 Level 15 State 1 Line 1 Incorrect syntax near 有人能告诉我问题是什么吗 是因为要转换吗 查询是 select compid 2 conve
  • 外键引用多个表

    我有4张桌子 A ida name B ida B specific stuff C ida C specific stuff D ida D specific stuff 我希望另一个表 E 可以仅引用 B 或 C 而不是 D 我可以在其
  • 累计非重复计数

    我正在查询每天获取 uid 的累计不同计数 示例 假设有 2 个 uid 100 200 出现在日期 2016 11 01 并且它们也在第二天出现 新的 uid 300 100 200 300 出现在 2016 11 02 此时我希望商店累
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之
  • 使用包含空值列的 WHERE 子句的更新语句

    我正在使用另一个表中的数据更新一个表上的列 这WHERE子句基于多个列 并且某些列为空 根据我的想法 这个空值是什么throwing off你的标准UPDATE TABLE SET X Y WHERE A B陈述 See 这个 SQL 小提
  • 这是过滤数据并防止 SQL 注入和其他攻击的安全方法吗?

    我创建了两个简单的函数来在插入数据进入 mysql 查询之前对其进行过滤 对于表单字段 我还使用正则表达式来单独检查每个字段 Form filter function filter var HTML is not allowed var s
  • ORA-01749: 您不能向自己授予/撤销权限

    我正在运行以下查询RATOR MONITORING授予引用权限的架构RATOR MONITORING CONFIGURATION SMSC GATEWAY表到RATOR MONITORING schema GRANT REFERENCES
  • 如何在 SQLite 中获取最后插入的 ID?

    SQLite 中是否有任何内置函数可以获取最后插入的行 ID 例如 在 mysql 中我们有LAST INSERT ID 这种功能 对于 sqlite 任何可用于执行相同过程的函数 请帮我 Thanks SQLite 这可以使用SQLite
  • 使用 Powershell SQL 将数据提取到 Excel

    我想使用 powershell 将数据从 SQL Server 提取到新的 excel 文件 对于小型数据集 我的代码可以工作 但某些表的行数超过 100 000 行 这将需要很长时间 我不在 SQl 服务器中使用该实用程序的原因是因为我想
  • SQL 插入失败 - 违反主键约束

    我在 SQL Insert 语句中看到一个非常奇怪的问题 我有一个简单的表 带有一个 ID 和 2 个日期时间 请参阅下面的创建脚本 CREATE TABLE dbo DATA POPULATION LOGS ID int IDENTITY
  • 如何对 SQL Server Express 进行实时更改

    我一直在使用 VS studio 开发一个 ASP NET Web 应用程序 我正在使用 SQL Server Express 在开发过程中 我一直在我的服务器上测试我的网络应用程序 每次我需要更新数据库时 我都会简单地删除旧数据库 位于我
  • MySQL 中的 group_concat 性能问题

    我添加了一个group concat到一个查询并杀死了性能 添加之前和之后的解释计划是相同的 所以我对如何优化它感到困惑 这是查询的简化版本 SELECT curRow curRow 1 AS row number docID docTyp
  • 如何在SqlAlchemy中执行“左外连接”

    我需要执行这个查询 select field11 field12 from Table 1 t1 left outer join Table 2 t2 ON t2 tbl1 id t1 tbl1 id where t2 tbl2 id is
  • DB2 - 如何在 IBM System i Access for Windows GUI Tool 中使用参数运行即席选择查询

    我想使用我声明的变量在 IBM System I Navigator tool for DB2 中运行一些临时选择语句 例如 在 SQL Server 世界中 我可以在 SQL Server Management Studio 查询窗口中轻
  • 执行存储过程时 ExecuteNonQuery() 返回 -1

    我正在尝试在 Visual Studio 中执行存储过程 下面给出 CREATE PROCEDURE dbo addStudent stuName varchar 50 address varchar 100 tel varchar 15
  • Hive NVL 不适用于列的日期类型 - NullpointerException

    我正在使用 HDFS 上的 MapR Hive 发行版并面临以下问题 如果表的列类型是 日期 类型 则NVL https cwiki apache org confluence display Hive LanguageManual UDF

随机推荐

  • SpringBoot工程使用logback-spring.xml

    在SpringBoot工程中 推荐使用logback spring xml来替换logback xml 原因是SpringBoot加载logback xml是在application yml之前 所以在yml里面的信息不会被logback
  • Python疫情数据可视化分析+数据预测(pandas+pyecharts+statsmodels+matplotlib+sql)

    1 MySQL数据库获取数据 此处的原始数据表是全国各省的实时数据集 现在只获取江苏省份的数据 engine create engine mysq conn 具体内容以自己上就可以为准 select data select from tab
  • C++---类成员变量定义为引用

    摘要 类成员变量是可以定义为引用类型的 但是我们需要注意一下用法 note1 在类中定义引用变量 必须要在初始化列表中初始化该成员变量 const 类型数据成员也必须在初始化列表中进行初始化 include
  • synchronized (成员变量) 和 synchronized (静态成员变量)

    synchronized 成员变量 和 synchronized 静态成员变量 在同步方面有不同的效果 在 Java 中 每个对象都有一个 内置锁 或 对象锁 也称为 monitor 对象 它可以用来同步代码块或方法 使用 synchron
  • 彻底理解数字图像处理中的卷积-以Sobel算子为例

    链接 原文出处 作者 FreeBlues 概述 卷积在信号处理领域有极其广泛的应用 也有严格的物理和数学定义 本文只讨论卷积在数字图像处理中的应用 在数字图像处理中 有一种基本的处理方法 线性滤波 待处理的平面数字图像可被看做一个大矩阵 图
  • 理想的程序员

    http blog jobbole com 84747 我算是靠坑蒙拐骗进了程序员的门 然后一路狂奔 26岁之前几乎没有任何写代码的经验 研究生毕业却意外选择了一家不可能提供培训的初创公司 在每日担忧公司倒闭 害怕被炒鱿鱼以及同事冷落白眼的
  • 偶写的第一个CUDA程序——向量加法

    这个CUDA工程包括了三个文件 一个是makefile 一个是vector add cu 用于联系主机端与设备端 最后是vector add kernel cu 这个就是设备端要执行的真正的CUDA程序 首先看看makefile Add s
  • HarmonyOS开发:探索动态共享包的依赖与使用

    前言 所谓共享包 和Android中的Library本质是一样的 目的是为了实现代码和资源的共享 在HarmonyOS中 给开发者提供了两种共享包 HAR Harmony Archive 静态共享包 和HSP Harmony Shared
  • Can you solve this equation?(二分)

    Problem Description Now given the equation 8 x 4 7 x 3 2 x 2 3 x 6 Y can you find its solution between 0 and 100 Now ple
  • 解决MDK通过JLink或ST-Link烧写程序之后必须断电才可以运行的问题

    问题描述 通过JLink或ST Link烧写完程序之后发现程序不运行 断电重启程序又能跑起来 解决方法 1 打开魔术棒 2 进入Debug界面 点击Setting 3 进入Cortex M Target Driver Setup界面 将 R
  • 详解Hpptclient 与RestTemplate 的Get与Post请求

    spring中最长见得两种请求方式 Get与Post 有些时候我们需要跨域去访问其他服务上的接口 此时就用到HtppClient与RestTemplate 重点讲一下RestTemplate 一 HttpClient 1 引入相关依赖包 m
  • 十、软考2013年下半年软件设计师易错题整理

    十 软考2013年下半年软件设计师易错题整理 文章目录 十 软考2013年下半年软件设计师易错题整理 错题1 错题2 错题3 错题4 错题5 错题6 错题7 错题8 错题9 错题10 错题11 错题12 错题13 错题14 错题15 错题1
  • 单端反激(Flyback)变换器的工作原理

    反激 Flyback 型电路的结构见图2 40 该电路可以看成是将boost buck电路中的电感换成相互耦合的电感N1和N2得到的 因此反激型电路中的变压器在工作中总是经历着储能一放电的过程 电流工作在连续模式CCM 它与正激电路不同的地
  • urdf to webots

    1 webots 模型 文件地址 software workspace git leap model 文件树结构 controller是仿真文件的控制程序 agent revision是正常的控制程序 my controller是调试控制程
  • 利用ScheduledThreadPoolExecutor定时执行任务

    最近时间好忙 终于抽出时间来写一篇博客了 想了想 把之前遇到的一个小bug分享一下吧 之前在做时钟插件时候 我用到了一个定时器 即大家常用的TimerTask 但它总是意外的停止 就是我开启了一个定时器 每一秒都会走run方法 有时候定时器
  • AD 每次更新PCB时,总有一个元件被删除,再添加

    问题如标题所述 在网上找到几种方法 试过最终可行方法如下 在原理图中双击出问题的元件 弹出窗口中点Reset按钮 改一下该元件的Unique ID 然后再更新PCB 就不会出现这样情况了 出错的元件 每个都要改一下
  • 2021非常全的接口测试面试题及参考答案

    一 前言 接口测试最近几年被炒的火热了 越来越多的测试同行意识到接口测试的重要性 接口测试为什么会如此重要呢 主要是平常的功能点点点 大家水平都一样 是个人都能点 面试时候如果问你平常在公司怎么测试的 你除了说点点点 还能说什么呢 无非就是
  • 精品,阿里P8爆款《SpringBoot+vue全栈开发实战项目》笔记太香了,先睹为快

    前言 Spring 作为一个轻量级的容器 在JavaEE开发中得到了广泛的应用 但是Spring 的配置繁琐臃肿 在和各种第三方框架进行整合时代码量都非常大 并且整合的代码大多是重复的 为了使开发者能够快速上手Spring 利用Spring
  • 交互计算-eval,input,print,range,join,map

    描述 编写一个简单的交互计算机 输入表达式 给出结果 eval 函数 eval 允许将任何字符串评估为Python表达式 这是个非常强大的功能 因为它允许在运行时动态生成和执行代码 它可以接受任意表达式 例如 gt gt gt eval
  • sql not in 查询结果为空解决

    使用下列sql语句进行查询时 发现出来的结果为0 select count distinct id from result where date 20221205 and us id xxx and id not in select dis