即使特定日期没有数据,mysql日期列表也包含计数[重复]

2024-01-02

可能的重复:
MySQL如何填充范围内缺失的日期? https://stackoverflow.com/questions/3538858/mysql-how-to-fill-missing-dates-in-range

我正在尝试从 mysql 数据制作图表,

Postid | date       | text
1      | 2012-01-01 | bla
2      | 2012-01-01 | bla
3      | 2012-01-02 | bla
4      | 2012-01-02 | bla
5      | 2012-01-04 | bla
6      | 2012-01-04 | bla
7      | 2012-01-05 | bla

现在,我想获取每天的帖子数量,包括日期为零的帖子。例如,我希望能够像这样获得第一周:

date       | count(Postid)
2012-01-01 | 2
2012-01-02 | 2
2012-01-03 | 0
2012-01-04 | 2
2012-01-05 | 1
2012-01-06 | 0
2012-01-07 | 0

我正在寻找一个通用的解决方案,我不必指定每个日期。有什么建议么?


假设你的postids 在表中是连续的,那么这个查询:

SELECT
  DATE_FORMAT(b.date, '%Y-%m-%d') date,
  COUNT(c.postid)
FROM
(
  SELECT
    (SELECT MAX(date) FROM ex) + INTERVAL 3 DAY - INTERVAL a.postid DAY AS date
  FROM
    ex a
) b
LEFT JOIN
  ex c ON c.date = b.date
GROUP BY
  b.date
ORDER BY
  b.date

产生:

date    COUNT(c.postid)
2012-01-01  2
2012-01-02  2
2012-01-03  0
2012-01-04  2
2012-01-05  1
2012-01-06  0
2012-01-07  0

See http://sqlfiddle.com/#!2/2cf8d/2 http://sqlfiddle.com/#!2/2cf8d/2

If your postids 不连续,那么您可以使用ids连续 id 表:

SELECT
  DATE_FORMAT(b.date, '%Y-%m-%d') date,
  COUNT(c.postid)
FROM
(
  SELECT
    (SELECT MAX(date) FROM ex) + INTERVAL 3 DAY - INTERVAL a.id DAY AS date
  FROM
    ids a
) b
LEFT JOIN
  ex c ON c.date = b.date
GROUP BY
  b.date
ORDER BY
  b.date DESC
LIMIT 7

See http://sqlfiddle.com/#!2/13035/1 http://sqlfiddle.com/#!2/13035/1

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

即使特定日期没有数据,mysql日期列表也包含计数[重复] 的相关文章

  • 如何在 MariaDB 10 中启用大索引?

    在 Debian Jessie 中 我安装了 MariaDB 服务器 10 0 30 并尝试增加最大密钥长度 AFAIU 这取决于配置参数innodb large prefix正在启用 根据docs https mariadb com kb
  • 按 MAX(time) WHERE time <= x 选择最近的 MySQL 行

    我正在选择 MySQL 表的最新条目 SELECT MAX time as most recent userID FROM TableName GROUP BY userID ORDER BY most recent DESC 我的问题是
  • 基于列顺序的查询速度

    数据库中列类型的顺序对查询时间有影响吗 例如 具有混合排序 INT TEXT VARCHAR INT TEXT 的表的查询速度是否会比具有连续类型 INT INT VARCHAR TEXT TEXT 的表慢 答案是肯定的 这确实很重要 而且
  • 为 Mariadb 安装连接器 C

    所以 我想使用 Mariadb 有一个连接器 C https downloads mariadb org connector c https downloads mariadb org connector c 我该如何安装它 坦白说 它的文
  • 从数据库生成 XML 时出现 PHP 编码错误 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试获取一个简单的 PHP 服
  • 在 MySQL 中分割逗号分隔值

    我正在尝试将字符串中以逗号分隔的 值拆分为多列 样本数据 COL1 COL2 COL3 000002 000003 000042 09 31 51 007 004 007 预期输出 Pno Cno Sno 000002 09 007 000
  • 更改Docker容器中的mysql密码

    我如何更改 docker 容器中的 root 密码 因为一旦我停止 mysql 服务 容器就会自动停止 我应该停止 mysql 容器并部署一个新容器吗 您可以使用正在运行的容器更改它docker exec session https doc
  • ejabberd 16.06 + mysql 5.5.50,消息历史记录不保存

    我使用ejabberd 16 06 mysql 5 5 50 消息历史记录没有保存 我的 ejabberd yml MySQL server odbc type mysql odbc server freldo odbc port 3306
  • RMySQL fetch - 找不到继承的方法

    使用 RMySQL 我想将数据从数据库加载到 R 中的数据帧中 为此 我使用以下代码 R连接数据库 con lt dbConnect MySQL user root password password dbname prediction h
  • 在 MySQL 中将行转置为列

    如何在 MySQL 查询中将行转换为列 您可以将行变成a列与GROUP CONCAT 但您无法以任何自动方式转置整个结果集 您可以编写手动生成每一列的查询 也可以在应用程序中执行此操作 以下是有关编写复杂查询来模拟转置的教程 http ww
  • PDO::commit() 成功或失败

    The PHP PDO 提交 http www php net manual en pdo commit php文档指出该方法成功时返回 TRUE 失败时返回 FALSE 这是指beginTransaction 和commit 之间的语句执
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 如何在 join 语句中进行计数

    我有桌子post int post id varchar title text content和表comment int comment id int post id varchar content其中 post id 是外键引用表帖子 如
  • Laravel Group By 和 Order By 不起作用

    我尝试制作一个Laravel 5 8项目 项目中的数据是这样的 id purch name prcvalue 1 10234 Nabila 100 2 10234 Nadeera 450 3 10234 Nabila 540 4 10234
  • Clojure MySQL 语法错误异常(“[...] 靠近 '???????????????' [...]”)

    除了建立连接之外 我在使用 clojure contrib sql 做任何事情时都遇到困难 我有一个 mysqld 在 localhost 3306 上运行 数据库名为clj db 用户 clj user localhost 和密码 clj
  • 非规范化如何提高数据库性能?

    我听说过很多关于非规范化的内容 它是为了提高某些应用程序的性能而进行的 但我从来没有尝试过做任何相关的事情 所以 我只是好奇 规范化数据库中的哪些地方会使性能变差 或者换句话说 非规范化原则是什么 如果我需要提高性能 如何使用此技术 非规范
  • 我可以在一个查询中更新/选择表吗?

    我需要在查看页面时选择数据并更新 视图 列 有没有一种方法可以在一个查询中执行此操作 或者我是否必须使用不同的查询 如果您不想 不需要使用事务 则可以创建一个存储过程 该过程首先更新视图计数 然后选择值并将其返回给用户
  • SQL:查找每个跑步者跑步之间的平均天数

    因此 如果我们给出下表 runner ran Carol 2011 02 01 Alice 2011 02 01 Bob 2011 02 01 Carol 2011 02 02 Bob 2011 02 02 Bob 2011 02 03 B
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com

随机推荐

  • 使用 ASCII 和基数 128 混淆字符串

    假设一个字符串是一个数字系统 其中每个事物 可以是字符 DEL 或任何 ASCII 事物 根据该 ASCII 都有一个对应的数字table http web eecs utk edu pham ascii table jpg 在Python
  • 在 OpenCL 内核中实现小型查找表的最佳方法是什么

    在我的内核中 需要对一个小查找表 只有 8 个 32 位整数 进行大量随机访问 每个内核都有一个唯一的查找表 下面是内核的简化版本 用于说明如何使用查找表 kernel void some kernel global uint global
  • 对 iCalUId 进行过滤返回空数组

    以下查询返回空数组https graph microsoft com v1 0 me events filter iCalUId eq
  • Eclipse - 更新/安装新软件非常慢

    这个问题之前已经描述过 但建议的解决方案都不适合我 这就是问题 我已经安装了最新版本的 Eclipse Luna 4 4 1 如果我想进行更新或安装新软件 则需要很长时间才能完成 很多小时 如果我将所需的软件下载到本地存档 更新站点并从那里
  • 我可以访问 Lotus Notes 的数据库吗?

    这是我第一次使用 Lotus Notes 所以我只知道如何使用它 我也是一名开发人员 所以我对数据库有所了解 目前 我收到将用户添加到 AD 帐户或从 AD 禁用用户甚至修改其在 AD 中的属性的请求 这些请求是通过 Lotus Notes
  • 带有测试容器的 BitBucket 管道无法正常工作

    当尝试使用测试容器运行 bitbucket 管道时 我遇到此错误 无法启动容器 java lang IllegalStateException Container 没有正确启动 没有其他问题 但也许与 Binds 有关 日志 HostCon
  • 解析错误,为什么? :( [复制]

    这个问题在这里已经有答案了 我正在为学校项目摆弄一些东西 遇到了一个我自己无法解决的问题 所以这是我的问题 为什么我会收到此错误 Parse error syntax error unexpected output2 T VARIABLE
  • 微服务和 Spring Security OAuth2

    我已经在另一个项目中运行了 OAuth2 授权服务器 现在我需要使用 OAuth2 保护几个简单的 spring boot Rest servers 但我正在寻找Spring文档 http projects spring io spring
  • 使用 SMO 编写部分数据内容的脚本(仅匹配 WHERE 子句的行)

    我使用 SMO 用 SQL Server 数据库的数据填充 SQL Compact 数据库 这是我实际使用的代码 foreach Table l tblCurrent in l dbDatabase Tables if l tblCurre
  • 安装 Tensorflow 时出现问题——不是 CUDA/CuDNN 问题

    我最近开始使用 Tensorflow 但安装时遇到问题 每次我尝试导入它时都会收到以下错误 gt gt gt import tensorflow as tf Traceback most recent call last File C Us
  • 如何使用 numpy/scipy 处理丢失的数据?

    我在数据清理中最常处理的事情之一就是缺失值 R 使用其 NA 缺失数据标签很好地处理了这个问题 在Python中 看来我必须处理屏蔽数组 这似乎是设置的一个主要难题 而且似乎没有很好的文档记录 关于用 Python 简化这个过程有什么建议吗
  • 在asp.net服务器端代码中?

    我有这个代码 string s royi string val 5 我也有一个label
  • HTML/CSS 嵌套菜单下拉菜单

    我不明白如何为导航栏菜单创建嵌套下拉菜单 我想使用按钮和 div 而不是列表 链接 引导程序 我在这里构建了一些我认为正确的东西 但当然我无法让它工作 有人可以帮我让下拉菜单和嵌套下拉菜单正常工作吗 dropdown background
  • 使用 .NET 4.6.2 中的 HttpClientFactory

    我有一个 NET 4 6 2 控制台应用程序 使用简单注入器 我需要调用 HTTP 服务 直接使用 HttpClient 遇到问题后 我尝试使用 HttpClientFactory https github com aspnet HttpC
  • 链接器如何解析 C 中多重定义的全局符号

    我的教科书上是这么说的 函数和初始化的全局变量获得强符号 未初始化的全局变量获得弱符号 给定一个强符号和多个弱符号 选择强符号 所以我创建了两个文件来查看 file1 c int number int main int argc char
  • 与具有 10M 记录的 MySQL 相比,MongoDB 非常慢

    我有一个负载相当高的项目 在 MySQL 上运行 有大约 10M 条记录 每秒大约有 500 个请求 数据相当独特 缓存命中率只有3 左右 每行大约有 10 个字段 其中 2 个已建立索引 我的查询 99 使用这两个索引字段来请求 我决定尝
  • R 中的函数将小数转换为具有指定分母的分数

    假设我有一个小数列表 x lt c 0 55 0 246 0 767 然后我希望将这些转换成 10 以内的分数 这样我就得到 6 10 2 10 8 10 我遇到过这个 效果非常好 但是 我想知道是否有一个函数可以做到这一点 frac fu
  • 无需网络连接的桌面应用程序防止盗版?

    假设对于一个在其生命周期内永远不会接收互联网连接的应用程序 如何防止该软件的盗版 安装过程中不能有单一的产品密钥要求 因为一旦合法安装 任何人都可以复制安装并重新分发它 因此 每次应用程序运行时 它都应该检查某些内容 如果检查失败 则崩溃
  • 具有一个固定列宽的 Flexbox [重复]

    这个问题在这里已经有答案了 我正在努力实现flexbox有两列 左侧具有固定宽度 右侧随着页面大小的变化而缩放 例如 div class flex container div class flex col left div div
  • 即使特定日期没有数据,mysql日期列表也包含计数[重复]

    这个问题在这里已经有答案了 可能的重复 MySQL如何填充范围内缺失的日期 https stackoverflow com questions 3538858 mysql how to fill missing dates in range