如何按月分组并在特定月份没有值时返回零?

2023-12-15

这是我的mysql收入表。

+----+------------------+---------------------------+------------+---------+
| id | title            | description               | date       | amount  |
+----+------------------+---------------------------+------------+---------+
|  1 | Vehicle sales up | From new sale up          | 2016-09-09 | 9999.99 |
|  2 | Jem 2 Sales      | From rathnapura store     | 2016-05-15 | 9545.25 |
|  3 | Jem 2 Sales 2    | From rathnapura store     | 2016-05-15 | 9545.25 |
|  4 | Jem 2 Sales 2    | From rathnapura store 234 | 2016-05-15 | 9545.25 |
+----+------------------+---------------------------+------------+---------+

字段“日期”是标准 SQL 日期。我执行此查询是为了按月获取收入总和,如果某个月没有收入则返回零。如果某个月份没有收入,我想要零,因为我想在图表中显示这些数据。

这是查询。

SELECT MONTHNAME(`date`) AS mName, MONTH(`date`) AS mOrder, ifnull(sum(amount),0) AS total_num FROM income GROUP BY mOrder ORDER BY mOrder DESC

但我只得到如下输出。如果其他月份没有值,则没有零。这是输出。

+-----------+--------+-----------+
| mName     | mOrder | total_num |
+-----------+--------+-----------+
| September |      9 |   9999.99 |
| May       |      5 |  28635.75 |
+-----------+--------+-----------+

我希望上表中的其他月份和total_num为零。我怎样才能做到这一点?那里也有同样的问题。但没有有效的答案。按月分组,如果没有找到数据则返回0

请帮我解决这个问题。我用于此应用程序的语言是 Node.JS :)


列出所有月份的表格,然后left join到您的餐桌:

SELECT MONTHNAME(m.month) AS mName, 
    MONTH(m.month) AS mOrder, 
    ifnull(sum(amount),0) AS total_num 
from months m
left join income i
on m.month = i.date

GROUP BY mOrder 
ORDER BY mOrder DESC

如果您不想创建months表然后你可以:

(select STR_TO_DATE('01/01/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/02/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/03/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/04/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/05/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/06/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/07/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/08/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/09/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/10/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/11/2016', '%d/%m/%Y') as month union 
 select STR_TO_DATE('01/12/2016', '%d/%m/%Y') as month)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何按月分组并在特定月份没有值时返回零? 的相关文章

  • RMySQL fetch - 找不到继承的方法

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

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

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 将新属性动态添加到 Node 中现有的 JSON 数组中

    我需要添加当前 JSON 中不存在的属性 json 对象如下所示 var jsonObj result OK data 我想在 数据 中添加温度 我可以像下面那样做 jsonObj data push temperature 然后 我想在
  • 本地数据库缓存的最佳实践?

    我正在开发一个应用程序 该应用程序的部分内容依赖于 MySQL 数据库 在某些情况下 应用程序将在互联网连接 UMTS 有限的环境中运行 特别是延迟较高的环境 应用程序的用户能够登录 并且应用程序用户界面的大部分内容都是从 MySQL 数据
  • 基本表创建 fpdf

    我找不到使用 fpdf 制作表格并从 mysql 数据库获取数据的合适教程 我只是想知道如何创建一个 我在网上尝试示例时遇到了很多错误 例如 我有 名字 中间名 姓氏 年龄 和 电子邮件 列 如何使用 fpdf 创建表格并回显数据库中的条目
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 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
  • 在 Postgres 中的数组字段上应用聚合函数?

    是否可以对整数 字段 或其他数字数组 中的所有值应用聚合 如 avg stddev CREATE TABLE widget measurement integer insert into widget measurement values
  • 更新plpgsql中触发器函数中的多列

    给出以下架构 create table account type a id SERIAL UNIQUE PRIMARY KEY some column VARCHAR create table account type b id SERIA
  • Axios GET 返回不可读的响应

    我有一个带有 axios 1 2 0 的简单 GET 的 Express 应用程序 const result AxiosResponse await axios get https jsonplaceholder typicode com
  • 将多行合并为一行并根据行数附加列

    我正在尝试将同一个表的多行合并为一个 我有一个像这样的示例表 Col1 Col2 Col3 Col4 Col5 Col6 1 BH1 CB 12 CC CC Conveyor Mal 1 BH1 CB 104 ZC ZC Full Emp
  • 在存储过程结束时显式删除本地临时表有什么好处?

    考虑以下伪 T SQL 代码 由存储过程执行 CREATE TABLE localTable
  • 高效插入和更新时检查唯一性

    我的员工表中有 2 列 每列值必须是唯一的 staff code staff name staff id staff code staff name 1 MGT Management 2 IT IT staff 当向表中插入或更新项目时 我
  • 累计非重复计数

    我正在查询每天获取 uid 的累计不同计数 示例 假设有 2 个 uid 100 200 出现在日期 2016 11 01 并且它们也在第二天出现 新的 uid 300 100 200 300 出现在 2016 11 02 此时我希望商店累
  • 如何在动态查询中将行值连接到列名

    我正在开发一个允许配置问题和答案的应用程序 目前最多可以有 20 个答案 但也可能更少 我的结构如下 问题 ID FormId QuestionText AnswerField 1 1 Name Answer01 2 1 Address A
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • 哪个是识别关系或非识别关系中的子表?

    在表之间的识别和非识别关系的上下文中 MySQL 文档大量将表称为父表和子表 如何判断哪个表是父表 哪个表是子表 子表 A K A 弱实体 http en wikipedia org wiki Weak entity 是一个表 其主键属性d
  • 对于单主机 Node.js 生产应用程序来说,什么是好的会话存储? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话
  • 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

随机推荐

  • xpath 查找特定根下具有特定名称的所有属性

    为了找到所有具有名称的属性myAttr在文档中我可以这样做 myAttr但是如果我想指定根并仍然在文档中查找具有该名称的所有属性怎么办 就像是 root whatever or nothing myAttribute 这样怎么样 root
  • SQL Server 中按 x 排序,然后按 y 列排序

    考虑一个像这样的表 debit credit code 0 10 5 5 0 3 0 11 2 0 15 1 7 0 6 6 0 2 5 0 1 我需要生成这样的结果集 首先借记 然后按代码列排序 debit credit code 5 0
  • 如何在 Flutter 中更改主题?

    所以我在这里尝试获取当前主题 无论是浅色还是深色 所以我可以相应地改变小部件颜色 但是 它不起作用 我使用 if 语句来知道何时是黑暗模式 但它总是 False 这是代码 顺便说一句 它在深色和浅色主题之间切换 但是当我尝试获取当前主题时
  • Subversion E160004 X的根节点的前身是Y但应该是Z

    我继承了一个大型 Subversion 存储库 74010 修订版 并且我正在尝试执行转储 加载以将存储库升级到 1 8 版本 以利用节省空间的功能 在尝试这个过程之前我跑了svnadmin verify对有问题的存储库进行检查 以确保该存
  • 在 Google 商店中将多个 Chrome 扩展程序作为单个项目发布

    Chrome 扩展程序和 Chrome 应用程序具有我需要实现某些功能的 API 但我无法仅使用扩展程序或仅使用应用程序或使用本机代码来实现此目的 所以我制作了一个扩展程序和一个应用程序 并使它们通过消息相互通信 一切正常 但现在我必须发布
  • 将表单提交到操作 php 文件

    我有一个表单 当用户单击 提交 时 我需要运行一个 php 文件 下面是表单和 php 文件
  • Spirit X3,如何让属性类型匹配规则类型?

    对于 Spirit X3 解析器的开发 我想使用语义操作 脚注 1 对我来说 控制如何将属性存储到 STL 容器中非常重要 这个问题是关于如何控制解析器属性 attr ctx 与规则类型 val ctx 匹配 以便可以正确分配它 也许这个问
  • 如何构建电影数据库和用户选择?

    我想创建电影数据库 用户可以在其中标记他 她观看和喜欢的电影 class Movies ndb Model watched ndb UserProperty liked ndb UserProperty 那行得通吗 我使用谷歌帐户 以后我应
  • PySpark - RDD 中对象的时间重叠

    我的目标是根据时间重叠对对象进行分组 我的每个对象rdd包含一个start time and end time 我可能效率很低 但我计划做的是根据每个对象是否与任何其他对象有任何时间重叠来为每个对象分配一个重叠 id 我有时间重叠的逻辑 然
  • 为什么Spring Boot时找不到bean?

    我以更方便的方式重新配置了 DAO 通过使用 JpaRepository 而不是手动执行所有样板代码 但现在每次我启动 Spring 应用程序时都会出现以下错误 APPLICATION FAILED TO START Description
  • React-Redux 和 Connect - 为什么我的状态在点击时没有更新?

    我是 redux 的新手 正在编写一个简单的投票前端 允许用户对他们最喜欢的框架 Angular React Vue 进行投票 当用户点击他们想要投票的框架时 我打算将商店中的投票增加一票 我在用着combineReducers and c
  • 多个条件Where子句

    我目前有一个查询 它将根据任何内容从我的数据库中提取大量信息where我想使用的条件 declare CaseNum char 7 ImportId char FormatId char SessionId char 5 set CaseN
  • 从文件共享运行 .NET 应用程序,无需代码签名

    每当从文件共享运行 NET exe 时 NET 安全模型都会引发安全错误 从本地驱动器运行时不会出现该错误 有谁知道无需签署代码即可解决此问题的方法吗 使用 CasPol 完全信任共享 更多答案在这里 为什么我的 NET 应用程序在从网络驱
  • Windows Azure 中的持续集成服务器

    我想在我的项目中使用持续集成系统 但是 我不想使用办公室中的服务器 而是希望我的持续集成服务器在 Windows Azure 上运行 有人设置过这个吗 是否有在 Azure 中托管 Hudson 或 CruiseControl Net 或任
  • 传递给函数时指向结构的指针根本不改变

    stack h define MAX STACK 10 typedef int STACK ITEM typedef struct Stack STACK stack c include stack h struct Stack STACK
  • Firebase 根视图控制器未找到警告

    我今天收到来自 Firebase Analytics 的奇怪警告 这是
  • mysql 具有多个变量的表结构

    我正在编写一个脚本 它将根据不同的条件计算票数并将计数存储在汇总表中 我无法理解如何构建我的表 因为会有超过 1 个变量 该脚本将每周运行一次 每次执行都会添加新的一周 一旦新的月份开始并且脚本执行 就会添加新的月份 一旦新年开始 就会添加
  • 将 r 中的列转换为行[重复]

    这个问题在这里已经有答案了 我使用代码形成了以下数据 test lt data frame dis c 10 20 30 40 dur c 30 40 60 90 method c car car Bicycle Bicycle to lo
  • 我可以为多个 mysql 命令行调用输入一次密码,而查询事先并不知道吗?

    您可以通过将查询放入文件来避免重新输入 mysql 命令行密码 就我而言 直到第一个查询完成后才确定后面的查询 这种情况发生在非交互式脚本中 因此运行 mysql 控制台不是一个选项 mysql 命令行交互有会话的概念吗 或者我可以将其设置
  • 如何按月分组并在特定月份没有值时返回零?

    这是我的mysql收入表 id title description date amount 1 Vehicle sales up From new sale up 2016 09 09 9999 99 2 Jem 2 Sales From