当 select 语句没有返回行时如何返回默认值

2024-01-06

我有一个 select 语句,它返回两列,一个日期列和一个count(value)柱子。当。。。的时候count(value)列没有任何记录,我需要它返回 0。目前,它只是一起跳过该日期记录。

这是查询的基础知识。

select convert(varchar(25), DateTime, 101) as recordDate,
       count(Value) as recordCount
from History
where Value < 700
group by convert(varchar(25), DateTime, 101)

这是我得到的一些结果。

+------------+-------------+
| recordDate | recordCount |
+------------+-------------+
| 02/26/2014 | 143         |
| 02/27/2014 | 541         |
| 03/01/2014 | 21          |
| 03/02/2014 | 60          |
| 03/03/2014 | 113         |
+------------+-------------+

请注意,它会跳过 2/28/2014。这是因为count(value)列没有任何可计数的内容。如何在其中添加日期为 2/28/2014 的记录,并带有recordCount of 0?


要生成缺失日期的行,您可以将数据连接到日期维度表 http://michaelmorley.name/how-to/create-date-dimension-table-in-sql-server

它看起来像这样:

select convert(varchar(25), ddt.DateField, 101) as recordDate,
       count(t.Value) as recordCount
from History h
right join dbo.DateDimensionTable ddt
    on ddt.DateField = convert(varchar(25), h.DateTime, 101)
where h.Value < 700
group by convert(varchar(25), h.DateTime, 101)

如果您的表使用 DateTime 列仅存储日期(意味着时间始终是午夜),那么您可以替换它

right join dbo.DateDimensionTable ddt
    on ddt.DateField = convert(varchar(25), h.DateTime, 101)

有了这个

right join dbo.DateDimensionTable ddt
    on ddt.DateField = h.DateTime
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 select 语句没有返回行时如何返回默认值 的相关文章

  • 在 where 子句中使用聚合函数和不同的列条件

    select PO Order Qty Avg PO Order Qty as totalAverage FROM FirstStrike Retail custom Whse Pricing QR where item code 111
  • 在 SQL Server 中通过标准差消除异常值

    我试图通过标准差消除 SQL Server 2008 中的异常值 我只想要特定列中包含该列平均值的 1 标准差范围内的值的记录 我怎样才能做到这一点 如果您假设事件呈钟形曲线分布 则只有 68 的值与平均值相差 1 个标准差以内 95 的值
  • 如何使用sql脚本更改列的属性

    如何使用 sql 脚本更改列的属性 这是我尝试过但出现错误的方法 ALTER TABLE dbo tblBiometricPattern COLUMN BiometricPatternID TINYINT NOT NULL IDENTITY
  • 在 SQL Server 2005 IMAGE 列中存储 20 Meg 文件的最有效方法

    我们将文档存储在 SQL Server 2005 数据库表中 列格式为 Image 每次我尝试存储大于 1 Meg 的 PDF 文件时 它都会以某种方式损坏 NET 中是否有任何特别有效的方法来序列化大文件 10megs 并将其存储到数据库
  • 验证 sql/oracle 中的电子邮件/邮政编码字段

    对于以下方面的一些建议将不胜感激 是否可以通过 oracle 中的 sql 中的某种检查约束来验证电子邮件和邮政编码字段 或者我怀疑 pl sql 带有正则表达式的这种事情 Thanks 这是电子邮件地址的正则表达式语法 包括引号 a zA
  • sql join 告诉我 ID 是否存在于其他表中

    我有 2 张桌子 A B ID FKID 1 3 2 3 3 4 4 4 我需要一个 select 语句 它显示 A 的所有内容 其中一个字段告诉我表 B 是否有任何与该 ID 匹配的 id Desired Result ID hasB 1
  • Sql Server 的夏令时

    我们正在使用一个以 C Unix 格式存储日期的旧应用程序 C 时间基本上是自 1970 年 1 月 1 日以来的秒数 日期以整数形式存储在 SQL Server 数据库中 我正在为使用这些日期的报告编写视图 到目前为止 我正在使用以下命令
  • Postgres LIMIT/OFFSET 奇怪的行为

    我正在使用 PostgreSQL 9 6 我有一个这样的查询 SELECT anon 1 id AS anon 1 id anon 1 is valid AS anon 1 is valid anon 1 first name AS ano
  • 使用转义换行符和回车符取消转义字符串

    我正在尝试编写一个 PLPGSQL 函数来混淆 审查 编辑文本 Obfuscate a body of text by replacing lowercase letters and numbers with symbols CREATE
  • Oracle 删除约束级联等效于 Sql Server

    在Oracle中 删除约束PK SAI我使用语法 ALTER TABLE SAISIE DROP CONSTRAINT PK SAI CASCADE SQL Server 中与此等效的是什么 您正在考虑与实际 DELETE 语句相关的 FO
  • SQL Server 大小写/排序规则问题

    今天我在客户数据库中遇到了一个奇怪的情况 SQL Server 2005 数据库排序规则不区分大小写 因此我可以使用任何大小写编写 SQL 查询 没有任何问题 除了一个 一张特定表中的一个特定列称为 DeadZone 如果我这样查询 从表名
  • 如何连接子查询的第一行?

    我有一个发票表和一个按键关联的相关数据的子表 特别是 对于每张发票 我只对子表中的第一个相关行感兴趣 鉴于我想要每个发票键都有一个相关行 我该如何实现这一点 Select i Invoice Number c Carrier Name Fr
  • 实体框架中的批量插入

    我使用批量插入插入大量记录 例如 20K 当我仅插入一个实体时 它会正常工作 但是 当我用来插入多个实体 例如一对多 时 它将仅插入父实体 而不会插入子实体 我的实体和代码 Customer cs public class Customer
  • 唯一约束与唯一索引?

    之间有区别吗 CREATE TABLE p product no integer name text UNIQUE price numeric and CREATE TABLE p product no integer name text
  • 如何将 sql 数据输出到 QCalendarWidget

    我希望能够在日历小部件上突出显示 SQL 数据库中的一天 就像启动程序时突出显示当前日期一样 在我的示例中 它是红色突出显示 我想要发生的是 当用户按下突出显示的日期时 数据库中日期旁边的文本将显示在日历下方的标签上 这是我使用 QT De
  • 如何在 PostgreSQL 中使用条件和子查询创建唯一索引?

    我使用 PGSQL 并尝试添加下面的索引 CREATE UNIQUE INDEX fk client ON user client fk client WHERE fk client NOT IN SELECT fk client FROM
  • 如何使用第二行中的值填充第一行中的空值?

    我正在尝试编写一个查询 仅显示每个名称的第一行 但这些行的标题为空 因此我想从紧邻的下一行中提取它们的标题 table1 Name Title Row Dan NULL 1 Dan Engineer 2 Dan Developer 3 Ja
  • 如何将事物的组合映射到关系数据库?

    我有一个表 其记录代表某些对象 为了简单起见 我假设该表只有一列 这是唯一的ObjectId 现在我需要一种方法来存储该表中的对象组合 组合必须是唯一的 但可以是任意长度 例如 如果我有ObjectIds 1 2 3 4 我想存储以下组合
  • 当我使用可变参数而不是常量参数时,为什么我的内联表 UDF 慢得多?

    我有一个表值内联 UDF 我想过滤该 UDF 的结果以获得一个特定值 当我使用常量参数指定过滤器时 一切都很好 并且性能几乎是瞬时的 当我使用可变参数指定过滤器时 它会花费明显更大的时间块 大约是逻辑读取的 500 倍和持续时间的 20 倍
  • 是否可以使用 Dapper 流式传输大型 SQL Server 数据库结果集?

    我需要从数据库返回大约 500K 行 请不要问为什么 然后 我需要将这些结果保存为 XML 更紧急 并将该文件通过 ftp 传输到某个神奇的地方 我还需要转换结果集中的每一行 现在 这就是我正在做的事情 TOP 100结果 使用 Dappe

随机推荐

  • 使用 Instant.parse 解析 2018-05-01T00:00:00 日期时出错

    这是我的代码 我用它来使用 Instant parse 解析字符串 String date 2018 05 01T00 00 00 Instant parse date 并低于错误 java time format DateTimePars
  • withCriteria 两级深度关联 eager fetch grails

    我想急切地加载一个结构 在关联链中有两层深度 大致如下 class TopLevel String name LevelOne levelOne class LevelOne String name LevelTwo levelTwo cl
  • 非标准 HTTP 端口源的 URLConnection FileNotFoundException

    我试图使用 Apache AntGet task http ant apache org manual Tasks get html获取我们公司另一个团队生成的 WSDL 列表 他们将它们托管在 weblogic 9 x 服务器上http
  • SSRS:显示逗号而不是点

    我想在我的报告中使用逗号而不是点 我使用了这种格式 Format Fields True Value F2 但这向我展示了一个点 我怎样才能得到逗号 除了 niktrs 回答之外 还可以通过属性窗口设置报告的语言设置
  • Android Room - 具有附加字段的多对多关系

    I have a Many to Many relationship set up on my Room database denoted by the following diagram 我想向 CrossRef 表添加额外的字段 我的问
  • 在 Google Cloud 上的 Docker 上启动 TensorFlow

    我按照此处的说明在 Google Cloud 上的 Docker 上安装 TensorFlow http tensorflow org get started os setup html docker based installation
  • Snowflake:无法使用阶段(S3)- SQL 编译错误:阶段不存在或未授权

    我在 Snowflake 中创建了一个外部舞台 我也尝试过使用公共存储桶 CREATE OR REPLACE stage DATABASE SCHEMA STAGE NAME url s3 bucket CREDENTIALS AWS KE
  • C# web 和 ftp 爬虫库

    我需要一个库 希望是 C 语言 它可以作为网络爬虫来访问 HTTP 文件和 FTP 文件 原则上 我很高兴阅读 HTML 我想将其扩展到 PDF WORD 等 我对初学者的开源软件或至少对文档的任何指示感到满意 Check NCrawler
  • UsbConnection.bulkTransfer 返回“-1”。这是什么意思?

    根据文档 消极反应意味着失败 如何知道出了什么问题 有关于错误类型的完整文档吗 为了更好奇 我正在尝试通过 USB 上传 arduino sketch 首先 我通过关闭 打开 DTR RTS 然后使用 Stk500 协议发送数据来引起引导加
  • noscript 内容是否加载到 bg 中

    即使启用了 javascript html 标签 noscript 是否会在后台加载内容 我有一个随机图像 每次页面加载时都会由 JS 调用 但我希望抓取所有链接 而不仅仅是当前的随机链接 同时 我不希望页面加载速度减慢 因为图像在后台加载
  • jQuery.remove() - 有没有办法在删除对象后将其取回?

    我在这个问题上基本上有同样的问题 Flash 视频仍在隐藏的 div 中播放 https stackoverflow com questions 1806032 flash video still playing on div that i
  • 为列提供多个索引/标题

    我正在使用 pandas 数据帧 这些数据帧本质上是这样的时间序列 level Date 1976 01 01 409 67 1976 02 01 409 58 1976 03 01 409 66 我想要的是级别列的多个索引 标题 如下所示
  • SQL Server 存储过程中的动态数据源

    我有一个包含多个数据库的 SQL Server 我有一个主数据库 其中包含多个包含实体和 ID 号的表 然后 每个实体都有一个与其所有信息相关的数据库 不是表 而是数据库 例如 如果 MAIN 数据库中的实体的 ID 号为 1 则同一 SQ
  • 如何从iPhone文档目录中读取pdf文件?

    目前我正在iPhone应用程序中工作 我在资源文件夹中有一个pdf文件 本地pdf文件 然后我成功读取了该pdf文件 paper pdf 下面我提到了读取本地pdf文件供您参考 Example CFURLRef pdfURL CFBundl
  • 如何从内存中的流式 zip 文件访问 zipEntry

    我目前正在实现一个电子阅读器库 skyepub http skyepub net 这要求我实现一个方法来检查 zipEntry 是否存在 在他们的演示版本中 解决方案很简单 public boolean isExists String ba
  • Firefox 报告“未找到支持格式和 Mime 类型的视频”

    此代码适用于 mp4 视频 但不适用于 3gp avi and flv files
  • 如果实例变量仍然有引用,Java GC 会销毁对象吗?

    我已经在线阅读了一些 Java 垃圾收集指南 但我仍然有点不清楚 并且想确保我的代码中没有内存泄漏 Java GC 是否会收集失去引用的对象 但其变量仍然具有引用 假设我有 SomeObject public class SomeObjec
  • freepascal正则表达式替换

    有没有一种简单的方法可以在 FreePascal Lazarus 中进行 RegExp 替换 四处寻找 我发现我可以相当容易地进行匹配 但我正在努力寻找进行搜索和替换的函数 我想要实现的目标如下 我有一个 XML 文件加载到 SynEdit
  • Jquery 循环调整大小

    我正在尝试让 Jquery Cycle 调整大小 到目前为止 我已经部分成功 它调整了大小 但幻灯片过渡有问题 我不明白为什么 这是整个页面http dl dropbox com u 8847353 Jai Sandhu Design Po
  • 当 select 语句没有返回行时如何返回默认值

    我有一个 select 语句 它返回两列 一个日期列和一个count value 柱子 当 的时候count value 列没有任何记录 我需要它返回 0 目前 它只是一起跳过该日期记录 这是查询的基础知识 select convert v