SQLite 查询连接日期范围?

2023-12-07

我正在使用 SQLite。

假设我有一张桌子sales有两列,date and count,记录我在那一天卖出了多少杯柠檬水。如果我在某一天没有卖出任何柠檬水,我会很沮丧而无法在sales table.

我想了解给定日期范围内销售的平均眼镜数量。我可以发出这样的查询:

SELECT AVG(count) FROM sales WHERE date IS BETWEEN '2010-01-04' AND '2010-01-10';

但是,除非该范围内的所有日期都包含在表中,否则结果将不准确。我需要某种方法来告诉 SQLite 将缺失的行计为零。

我想如果我能在某个日期范围内加入销售表,那将是理想的。这似乎不可能,因此从日期范围创建表的简单方法可能是下一个最好的方法。我不想修改销售表,这对于柠檬水摊来说似乎很愚蠢,但在现实生活中更有意义。

正如我上面所说,我正在使用 SQLite,因此如果您向我推荐其他数据库,那对您没有帮助。也就是说,如果您对其他数据库有更多经验,并且认为您的解决方案可以用普通 SQL 完成,我很想听听。


创建一个日历表并加入其中:

像这样的事情会做:

create table dates (id integer primary key);
insert into dates default values;
insert into dates default values;
insert into dates select null from dates d1, dates d2, dates d3 , dates d4;
insert into dates select null from dates d1, dates d2, dates d3 , dates d4;
alter table dates add date datetime;
update dates set date=date('2000-01-01',(-1+id)||' day');

这将覆盖您直到 2287-05-20 向日期表中的日期列添加索引不会有什么坏处。我的sqlite有点生锈了,所以我建议你咨询一下手册关于这一点。

Edit:索引代码:

create unique index ux_dates_date on dates (date);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLite 查询连接日期范围? 的相关文章

  • java.sql.Timestamp 到微秒精度的字符串

    我正在将时间戳列从数据库读取到 java sql Timestamp 对象中 然后我想将时间戳的值转换为 String 对象 但保持微秒精度 调用 toString 方法让我接近 但它似乎在微秒内丢失了尾随零 如果时间戳以非零数字结尾 则一
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • 创建表作为 select 删除 postgresql 中的非空约束

    在 postgres sql 中 创建表时 select 删除了表上的非空约束 例如 对此没有单一命令的解决方案 要基于现有表 包括所有约束 创建表 请使用 create table B like a including constrain
  • 插入多行并返回主键时 Sqlalchemy 的奇怪行为

    插入多行并返回主键时 我注意到一些奇怪的事情 如果我在 isert 查询中添加使用参数值 我会得到预期的行为 但是当将值传递给游标时 不会返回任何内容 这可能是一个错误还是我误解了什么 我的sqlachemy版本是0 9 4 下面如何重现错
  • TOAD 将 &String 视为绑定变量

    我正在使用 Oracle Data Integrator 开发一些 ETL 有时会使用 TOAD 测试部分代码 今天我遇到了 TOAD 的问题 我有一行像 AND column value like DEV PROD 当我尝试运行包含上面过
  • 如何有效地从 DB2 表中删除所有行

    我有一个大约有 50 万行的表 我想删除所有行 如果我做简单的delete from tbl 事务日志已满 我不关心这种情况下的事务 无论如何我都不想回滚 我可以删除许多事务中的行 但是有更好的方法吗 如何有效地从 DB2 中的表中删除所有
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 根据表sql中的行替换字符串中的字符

    我需要用一些映射的字符替换字符串中的字符列表 我有一个表 dbo CharacterMappings 有 2 列 CharacterToFilter 和 ReplacementCharacter 假设这个表中有3条记录 Filter Rep
  • SQLite HAVING 比较错误

    我有一个测试 SQLite 表 用于存储带有值的报告数据 CREATE TABLE IF NOT EXISTS test fact daily revenue date TEXT revenue NUMERIC product TEXT I
  • 将 Android 应用程序从 Lite 升级到 Pro 版本时保持相同的 SQLite 数据库

    首先 我已经进行了搜索 但找不到我的问题的具体答案 所以这里是 我正在编写我的第一个 Android 应用程序 并计划拥有 Lite 版本 有限功能 和付费版本 完整功能 Lite 和 Pro 版本将使用相同的 SQLite 数据库结构 如
  • 使用两个日期之间的随机日期时间更新每一行

    我有一个专栏叫date created我希望每一行保存一个随机日期 日期距当前时间为 2 天 我正在运行以下查询 但它会更新具有相同随机日期的所有行 我希望每一行都是随机的并且不相同 update table set date create
  • Python 中的计时代码块,无需将其放入函数中

    我想对一段代码进行计时 而不是将其放入单独的函数中 例如 def myfunc some code here t1 time time block of code to time here t2 time time print Code t
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • SQL 删除表并重新创建并保留数据

    在我们最初的设计中 我们搞砸了表中的外键约束 现在表已充满数据 我们无法在不删除表中所有记录的情况下更改它 我能想到的唯一解决方案是创建一个备份表并将所有记录放在那里 然后删除所有记录 更改表并开始将它们添加回来 还有其他 更好 的想法吗
  • 独立对列进行排序,使得所有空值都位于每列的最后

    这是一个名为的示例表animal name color fox brown fox red dog gold 现在 我想要的是这样的结果 fox dog brown gold red 名称应该是结果的列 不同颜色值作为行 我的第一个想法是
  • 如何在 SQLite 中将时间戳转换为字符串?

    我有一个表 其中存储了时间戳 以毫秒为单位 我想将这些时间戳转换为人类可读的形式 这是我的表的输出示例 SELECT date raw strftime d m Y date 1000 as string FROM my table raw
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • 在 SQL 数据库中存储“列表”的最正确方法是什么?

    因此 我读了很多关于如何将多个值存储到一个列中是一个坏主意 并且违反了数据标准化的第一条规则 令人惊讶的是 这不是 不要谈论数据标准化 所以我需要一些帮助 目前我正在为我工 作的地方设计一个 ASP NET 网页 我想根据此人所属的 Act

随机推荐

  • 使用 NetworkX 测量图之间的相似性

    I have 两张图A and B 它们可能是同构的 完全不同的 或者有一些相似之处 很少有节点是相同的 或者很少有节点共享相同的边 我想看看 检查这些图表有多么不同 相似 networkx is isomorphic 是一种方法 然而 这
  • Kohana ORM 和验证,有问题

    尝试使用适用于 Kohana 3 2 的 ORM 进行验证 目前我有我的模型
  • New-Object:找不到“PSCredential”的重载且参数计数:“2”

    我希望将一封电子邮件发送给多个收件人 而且我不想提示输入用户名和密码 所以我使用了下面的字符串转换 但随后我遇到了下面的错误消息 您能否提出解决此问题的答案 string ValidateNotNullOrEmpty secpasswd Q
  • 如何从 NSImage 保存 PNG 文件(视网膜问题)

    我正在对图像进行一些操作 完成后 我想将图像以 PNG 格式保存在磁盘上 我正在执行以下操作 void saveImage NSImage image atPath NSString path image lockFocus NSBitma
  • 从(任意)连续概率分布进行模拟[重复]

    这个问题在这里已经有答案了 例如 对于实数线上定义的归一化概率密度函数 p x 2 pi 1 exp x exp x 这只是一个例子 该解决方案应该适用于我们可以定义的任何连续 PDF R 中是否有一个包可以从发行版进行模拟 我知道 R 的
  • VBA 中表单宽度和高度的单位是什么?

    我正在为 Word 2007 编写 VBA 程序 我创建了一个用户窗体 需要使用脚本调整其大小 我注意到它不是像素 Me Width pixelW form appears about 20 larger than the pixel wi
  • gensim TransformedCorpus数据高效转换为数组

    是否有比下面的逐行方法更直接或更有效的方法将主题概率数据从 gensim interfaces TransformedCorpus 对象获取到 numpy 数组 或者 pandas 数据帧 from gensim import models
  • VBA:写入日志文件的子程序

    我在工作簿中定义了一组宏 我想向用户提供在日志文件中记录与这些宏相关的事件的选项 我通过在 ThisWorkbook 中创建以下内容来启动日志 Public writeLog as Boolean Public logWrite as Ob
  • 使用 Jackson 序列化枚举

    我有一个如下所述的枚举 public enum OrderType UNKNOWN 0 Undefined TYPEA 1 Type A TYPEB 2 Type B TYPEC 3 Type C private Integer id pr
  • 为什么我的文本字段似乎不为零,即使我将该字段留空?我的 if 语句的“else”部分没有被读取

    我正在通过制作一个保存客户数据的应用程序来练习快速编程 该应用程序有几个文本字段 人们应该在其中输入姓名 电子邮件地址 电话号码和购买的产品数量 然后通过 提交 按钮 他们将该信息保存到数据库中 但是 如果其中一个字段为空 则应抛出错误 并
  • Tortoise Git - 拉取导致冲突后丢失提交

    这个问题完美地描述了我们的情况 当 Git 或 TortoiseGit 出现冲突时 正确的提交 推送方式是什么 对于上述问题没有答案 至少没有一个被接受的答案 这似乎是解决方案之一 https stackoverflow com a 121
  • 并发异步/等待与睡眠

    我想知道答案是否为这个相当老的问题about future 仍然适用于更新的语言结构async await 似乎是这样 因为下面的代码打印 hello good bye hello 虽然导游 says futures join 宏使得可以等
  • 如何在winRT中用动画绘制圆弧?

    我是 WinRT 和 Blend 的新手 我需要在 WinRT 应用程序中使用绘图效果绘制数字 1 2 等 要求就像应用程序将绘制数字 任何帮助将非常感激 提前致谢 我认为您需要拼凑几个故事板才能实现这一目标 我真的建议您使用 Blend
  • 模拟器使用 int21h/ah=09h 显示“2000 个字节后未找到错误字节 24h”

    我必须使用汇编来做一个简单的计算器EMU8086 但每次我尝试启动它时EMU8086给出这个错误 INT 21h AH 09h address 170B5 byte 24h not found after 2000 bytes correc
  • 带有选项标签的 CSS - 编辑文本颜色

    用CSS编辑选项标签背后有什么秘密吗 我就是无法解决这个问题
  • URL 中允许的字符

    有谁知道可以在 GET 中使用而无需编码的字符的完整列表 目前我正在使用 A Z a z 和 0 9 但我希望找到完整的列表 我还想知道是否有针对即将添加的中文 阿拉伯语网址的规范发布 显然这将对我的问题产生重大影响 编辑 正如 Jukka
  • 通过 REST 接口托管的 PDF 在 Chrome 88+ 中返回 ERR_BLOCKED_BY_CLIENT

    I am working on a project that uses a Java Backend Application that hosts a PDF over a REST interface Up to Chrome 87 an
  • 通过CSS隐藏特定尺寸的图像?

    在此先感谢您的帮助 我有一个 RSS 我想在我的页面上发布该 RSS 的内容 但该 RSS 来自 WordPress 并且包含用于评论的按钮的图像 问题1 如果我隐藏所有 img 从 RSS 中 我还隐藏了博客中文章中发布的图像 问题2 评
  • 为什么 `Stage#show` 这么慢,可以采取什么措施来加速它

    在 JavaFX 中 第一次显示舞台时Stage show花费很长时间 我不是在谈论加载 FXML 所需的时间 这完全是一个不同的问题 而只是在调用之间所需的时间Stage show和调用返回 以及向用户显示的窗口 我创建了这个示例应用程序
  • SQLite 查询连接日期范围?

    我正在使用 SQLite 假设我有一张桌子sales有两列 date and count 记录我在那一天卖出了多少杯柠檬水 如果我在某一天没有卖出任何柠檬水 我会很沮丧而无法在sales table 我想了解给定日期范围内销售的平均眼镜数量