在 sql 结果中填充空日期的最直接方法是什么(在 mysql 或 perl 端)?

2024-01-01

我正在从 mysql 表构建一个快速 csv,查询如下:

select DATE(date),count(date) from table group by DATE(date) order by date asc;

然后将它们转储到 perl 中的文件中:

while(my($date,$sum) = $sth->fetchrow) {
    print CSV "$date,$sum\n"
}

不过,数据中存在日期差距:

| 2008-08-05 |           4 | 
| 2008-08-07 |          23 | 

我想填充数据以用零计数条目填充缺失的天数,最终得到:

| 2008-08-05 |           4 | 
| 2008-08-06 |           0 | 
| 2008-08-07 |          23 | 

我用一系列每月的天数和一些数学知识拼凑出了一个非常尴尬(而且几乎肯定有错误)的解决方法,但在 mysql 或 perl 方面必须有更简单的东西。

有什么天才的想法/耳光可以解释为什么我这么愚蠢吗?


我最终使用了一个存储过程,该过程为相关日期范围生成了一个临时表,原因如下:

  • 我知道我每次要寻找的日期范围
  • 不幸的是,有问题的服务器不是我可以在 atm 上安装 perl 模块的服务器,而且它的状态已经很破旧,没有远程安装任何东西 Date::-y

perl Date/DateTime 迭代的答案也非常好,我希望我可以选择多个答案!


当您在服务器端需要类似的东西时,通常会创建一个表,其中包含两个时间点之间所有可能的日期,然后将该表与查询结果左连接。像这样的事情:

create procedure sp1(d1 date, d2 date)
  declare d datetime;

  create temporary table foo (d date not null);

  set d = d1
  while d <= d2 do
    insert into foo (d) values (d)
    set d = date_add(d, interval 1 day)
  end while

  select foo.d, count(date)
  from foo left join table on foo.d = table.date
  group by foo.d order by foo.d asc;

  drop temporary table foo;
end procedure

在这种特殊情况下,最好在客户端进行一些检查,如果当前日期不是 previos+1,则添加一些附加字符串。

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

在 sql 结果中填充空日期的最直接方法是什么(在 mysql 或 perl 端)? 的相关文章

  • 如何在mysql中选择具有相同值集的列?

    我的桌子是 patients pid name city disease did dname has disease did pid 我想列出具有相同疾病组的患者 pid 和 did 分别是患者和疾病表中的主键 并且是 has diseas
  • 如果没有找到值,如何让 MySQL 中的 SUM 函数返回“0”?

    假设我在 MySQL 中有一个简单的函数 SELECT SUM Column 1 FROM Table WHERE Column 2 Test 如果没有条目Column 2 包含文本 Test 然后该函数返回NULL 而我希望它返回 0 我
  • Windows 8.1 升级后 Apache 无法工作 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 今天从 Windows 8 升级到 Windows 8 1 后 Apache 不再工作 我上次从 Windows 7 升级到 Window
  • MySQL 和 Hibernate 之间的主键自增由谁负责?

    MySQL CREATE TABLE role id role INT 11 unsigned NOT NULL AUTO INCREMENT PRIMARY KEY id role AUTO INCREMENT 1 休眠 Entity p
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • PHP 和 MySQL - 高效处理多个一对多关系

    我正在寻求一些有关使用 MySQL 和 PHP 检索和显示数据的最佳方法的建议 我有 3 个表 所有一对多关系如下 Each SCHEDULE有很多覆盖每个覆盖都有很多地点 我想检索这些数据 以便它可以全部显示在单个 PHP 页面上 例如列
  • HTTP POST 操作出现错误代码 302

    我有一个 perl 脚本 它将数据发送到我用 php 编写的 Web 服务 这是代码 use LWP UserAgent my ua LWP UserAgent gt new my server endpoint http example
  • 如果 Row1 = 值 1,则更新其他行

    我有一个小的 php 脚本 用于访问 mySql 数据库 我想在数据库中插入新记录之前查看该数字 值 1 是否等于数据库中的记录 这也在第 1 行 所以我想 查看传入的电话号码是否等于数据库中的电话号码 如果是这样 则必须保持电话号码相同的
  • 如何修复 Android 7.0 的 Spinner 模式下的 DatePickerDialog?

    我目前正在开发一个简单的项目 其中包含一个包含在 Web 视图中的网站 具有少量交互 以提高网站本身和 Android 移动设备之间的交互性 由于该网站包含用户生日的日期输入字段 因此我希望实现一个与所有设备兼容的旋转格式的日期选择器 我尝
  • 非常大的字段会对 MySQL 数据库产生负面影响吗?

    我目前正在使用 Django 构建一个网站 并希望托管用户生物样式页面 该页面可能长达几 KB 这些字段不一定需要搜索 但在查找用户名时确实需要提供 将这些数据存储在数据库中会产生负面影响吗 如果我使用带有数据库链接的静态文本文件 我的服务
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 如何从批量数据中的mysql列中删除所有非数字字符

    我想从列中删除所有非数字字符 我的数据库中有大量数据 目前我正在使用以下链接中描述的方法 http venerableagents wordpress com 2011 01 29 mysql numeric functions http
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 如何通过Elasticsearch模糊匹配电子邮件或电话?

    我想通过 Elasticsearch 对电子邮件或电话进行模糊匹配 例如 匹配所有以以下结尾的电子邮件 gmail com or 匹配所有电话开头136 我知道我可以使用通配符 query wildcard email gmail com
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • Android 如何将总天数准确更改为年、月、日?

    我正在做一个应用程序 该应用程序与根据给定的生日日期输入获取一个人的年龄有关 为此 我从下面的代码中获取从该日期到当前日期的总天数 String strThatDay 1991 05 10 SimpleDateFormat formatte
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 在perl中更改多维哈希的第一个键

    我在 perl 中有一个多维哈希 我想更改所选值的第一个键 例如 我有哈希 my Hash1 Hash1 1 12 1 Hash1 1 10 1 Hash1 2 31 1 Hash1 3 52 1 Hash1 3 58 1 Hash1 4

随机推荐

  • c 中的 doxygen:定义分组

    我正在使用 doxygen 记录 C 代码 为了使文档更具可读性 我希望至少使用 defgroup 和 ingroup 将每个 c h 文件对中的代码添加到一组 在这些组中 我想使用 name 块将一些定义分组 在一起 文件 页面中的结果看
  • ASP.NET Core 中的声明问题(更新数据库后用户仍然有一些声明)

    我正在学习 asp net core 但我陷入了困境 我会尝试以某种方式解释 问题在于用户索赔 当我登录网站时 用户可以创建和删除声明并且所有工作都可以进行 但是 当该用户更改他无法删除某些内容时 更新数据库后他仍然可以 在数据库中删除消失
  • 禁用sequelize.js中的updatedAt(更新日期)字段

    I used sequelize auto生成模式 我尝试使用findOne 我得到了这个错误 未处理的拒绝 SequelizeDatabaseError 列名无效 更新时间 在我的数据库表中 没有字段updatedAt 例如我的表名是Us
  • 直接从模型实例化查询构建器

    当我做类似的事情时SomeModel with user 它返回一个Query Builder实例 我怎样才能获得这个实例而不需要调用with 或类似的 例如 我尝试过 new SomeModel 但它显然会返回我的模型的实例 而不是查询生
  • GNU Makefiles 中是否有类似 python 装饰器的机制?

    我发现自己在 Makefile 中声明 GNU make 目标是假的两种可能性之间有点左右为难 一是一次性宣布所有假货 PHONY targ1 targ2 targ3 targ1 targ2 targ3 其优点是 对我来说 更具可读性并且更
  • 使用 OR 运算符的复合查询 flutter 和 firebase [重复]

    这个问题在这里已经有答案了 我正在创建一个 flutter 应用程序 它应该查询 Firestore 集合并在满足两个条件时返回结果 这是我的代码 Stream
  • Flutter ImageIcon 显示图像白色或黑色

    所以我一直在尝试使用我存储在资产中的图片并将其用作徽标 这样我就可以将徽标制作成动画 而不仅仅是将其作为静态图片 但徽标始终只显示白色 或者当我尝试将其包裹并将颜色设置为空时 它会显示全黑色 所以想知道如何让它显示我的原始图像 new Ic
  • 如何通过套接字共享 Perl 数据结构?

    在套接字中我编写了客户端服务器程序 首先 我尝试在其中发送普通字符串 它发送得很好 之后 我尝试将哈希值和数组值从客户端发送到服务器 再将服务器发送到客户端 当我使用 Dumper 打印这些值时 它只提供参考值 我应该怎么做才能获取客户端服
  • Android 以编程方式在消息应用程序中插入具有不正确时间戳的短信

    我尝试使用未记录的内容提供程序 content sms 将短信插入收件箱 并且插入成功 然后我在消息应用程序中检查新插入的消息 但是显示的时间始终是插入完成的实时时间 而不是我在 ContentValues 中指定的时间 单击并查看消息线程
  • PyQt5 - 撤消实施

    我需要在此小部件中实现撤消功能 使用组合键 Ctrl Z 激活 我可以在传递给构造函数的输入中的图像上绘制线条 因此 我们的想法是从行列表中删除最后一项 我每次绘制一行时都会向此列表中添加一条行 并在按 Ctrl Z 时重新绘制所有其他行
  • 如何在 SwiftUI 中显示来自数据源(如 UITableView)的视图列表

    在 SwiftUI 中 我们有List代表可重复使用的物品 就像UITableView in UIKit 静态列表的构建如下 List Text cell Text cell Text cell Text cell 但好像是这样不可重复使用
  • 如何使用 page.find 通过 rspec 测试查找变量

    我有一个测试用例 我的大多数其他页面至少有一个字段只是纯文本 可以使用以下方式找到 page find tr text What I filled in find a tick click 本页所有选项都是下拉选择 那么如何找到变量呢 其余
  • Python 3.X 中 classname.attribute 和 self.attribute 有什么区别

    有如下两段代码 class State country China def init self print State country obj State and class State country China def init sel
  • 如何自动注入状态参数

    Abstract 你好 我在我的项目中使用 Angular ui router 我有大量的嵌套状态和不同的视图 这些视图又包含大量不同的输入 用户逐步增量地填充这些输入 问题 有时用户需要位于上一步的附加信息 浏览器的 后退 按钮可以帮助用
  • 如何在c中创建自定义数据包?

    我正在尝试使用 TCP IP 协议使用 C 语言制作自定义数据包 当我说自定义时 我的意思是能够更改数据包中的任何值 例如 MAC IP 地址等 我尝试四处搜索 但找不到任何实际指导我或给我示例源代码的东西 如何创建自定义数据包或者我应该在
  • 从 Facebook 墙到 Android 应用程序的新闻提要

    有什么方法可以将 Facebook 墙上的最后一个帖子转移到 Android 应用程序中吗 我想制作一些类似 RSS 阅读器来获取一些有关应用程序的信息 为了更好地解释 我在 Facebook 上有一个关于一个足球俱乐部的页面 在那里我发布
  • 对于项目外的文件,如何在java中将File转换为IFile?

    通常 此代码用于从File to IFile IWorkspace workspace ResourcesPlugin getWorkspace IPath location Path fromOSString file getAbsolu
  • 禁止网站上的机器人[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的网站经常宕机 因为蜘蛛正在访问许多资源 这是主持人告诉我的 他们告诉我禁止这些 IP 地址 46 229 164 98 46 229
  • 将自定义 css 添加到 WordPress 中的页面模板

    你好 我需要一些帮助来为我的页面模板创建自定义 css 文件 关于这个问题有很多主题 但随着我阅读的每个主题 我都会获得更多信息 也更加困惑 我为二十四主题创建了一个子主题 并添加了一个页面模板 我如何将自定义 css 添加到此模板 我发现
  • 在 sql 结果中填充空日期的最直接方法是什么(在 mysql 或 perl 端)?

    我正在从 mysql 表构建一个快速 csv 查询如下 select DATE date count date from table group by DATE date order by date asc 然后将它们转储到 perl 中的