`
cuitongxin
  • 浏览: 27067 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Mysql sql 实现两行数据相减的sql写法

 
阅读更多

须具备的数据库脚本:

CREATE TABLE `NewTable` (
`id`  bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID数据库自增字段' ,
`queue_name`  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '队列名称' ,
`tenant_id`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '租户ID' ,
`user_id`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户ID' ,
`product_total_count`  bigint(20) NOT NULL COMMENT '生产消息总数' ,
`consume_total_count`  bigint(20) NOT NULL COMMENT '消费消息总数' ,
`consumer_count`  bigint(20) NOT NULL COMMENT '消费者数量' ,
`statistic_time`  datetime NOT NULL COMMENT '统计时间' ,
`create_time`  datetime NOT NULL COMMENT '记录创建时间' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=4
ROW_FORMAT=COMPACT
;

两行相减的查询语句:
select 
	  t.id,
	  t.queue_name,
	  IFNULL(t.product_total_count - (select product_total_count from mq_rpt_queue_by_hour where id = t.id-1),0),
	  IFNULL(t.consume_total_count - (select consume_total_count from mq_rpt_queue_by_hour where id = t.id-1),0),
	  now(),
	  now(),
    t.product_total_count - t.consume_total_count,
		IFNULL((t.product_total_count - t.consume_total_count) - (select product_total_count - consume_total_count from mq_rpt_queue_by_hour where id = t.id-1),0),
		t.consumer_count
from mq_rpt_queue_by_hour t;
 
当你创建数据库脚本,并且初始化了数据,那么执行下面的SQL查询脚本就可以得出两行相减的结果了。

 

分享到:
评论

相关推荐

    SQL语句中如何做到间隔行相减

    在SQL语句中实现间隔行相减是一种较为高级的数据处理技巧,主要应用于需要对数据集中的数值进行基于位置的计算场景。例如,在财务分析、时间序列数据处理或统计学研究中,这种操作可以帮助我们理解数据随时间或其他...

    mssql sqlserver 使用sql脚本实现相邻两条数据相减.docx

    MSSQL SQL Server 使用 SQL 脚本实现相邻两条数据相减 MSSQL SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业和领域。有时,我们需要对数据库中的数据进行操作,例如计算相邻两条数据的差异。在本文中...

    OpenCV实现两个图像相减

    本文将深入探讨如何使用OpenCV实现两个图像相减,这是一个基本但关键的操作,用于图像分析、背景消除以及运动检测等场景。 ### OpenCV实现两个图像相减 #### 核心概念解析: **图像相减**的基本原理是:对于两张...

    SQL实现相邻两行数据的加减乘除操作

    SQL实现表里数据按一定顺序排序后,按某几个字段分组后相邻两行数据实现加减乘除运算。 思路: 1:先把表数据分组排序后打上序号标签 2:根据需求把标签字段加/减一 上代码: select distinct a.phone,from_unix...

    java实现两个日期相减得到中间的年份和月份日期改进版

    上个实例改进 java实现两个日期相减得到中间的年份和月份日期

    excel数据相减

    实现读取不同excel数据 并对应相减。实现读取不同excel数据 并对应相减。

    GDAL实现两张图片相减

    GDAL实现两张图片相减,分波段读取图片

    Lua实现两个日期相减得出天数(datadiff)

    实现两个数值型的日期相减得出天数的函数。

    hive窗口函数

    在大数据处理领域,Apache Hive 是一个广泛使用的数据仓库工具,它提供了一种SQL-like的语言——HiveQL,使得用户能够更方便地进行数据汇总、特殊查询和分析。其中,窗口函数是HiveQL的一个重要组成部分,它可以在不...

    PCL三维点云相减程序

    点云相减,顾名思义,就是将两个点云数据集进行操作,得到它们之间的差异部分。这一过程通常用于去除静态背景,突出动态或感兴趣的目标。在标题提及的场景中,“点云数据与背景数据相减,留下来的既是本体数据”,这...

    Mysql 相邻两行记录某列的差值方法

    本文将详细讲解如何在MySQL中找到相邻两行记录某列的差值,以及涉及的相关SQL方法。 首先,我们来看表`sys_touch_info`的结构,它包含`company_id`和`touch_time`等字段。表中的数据可能如下: ```sql company_id ...

    汇编 两个数字相减 并且显示出来

    汇编指令实现两个数字相减,通过汇编指令实现输出

    sql server日期相减 的实现详解

    本文将深入探讨如何在SQL Server中实现日期相减,以及`DATEDIFF`函数在其中的作用和使用方法。 `DATEDIFF`函数是SQL Server中用于计算两个日期之间差值的内置函数。它允许我们以指定的时间单位(如年、季度、月、日...

    c++重载-实现复数相减

    ### C++重载实现复数相减的知识点详解 #### 一、概述 在C++编程语言中,重载(Overloading)是一种重要的特性,它允许我们为同一个操作符或函数提供不同的实现方式,以便更好地适应不同的数据类型或场景需求。在本...

    mysql unsigned 用法及相减出现补数溢出解决方法

    这个特性是MySQL特有的,非标准SQL所支持。使用`unsigned`的主要优点有两个: 1. **约束数值范围**:它能确保字段中的数据始终为正数或零,对于那些仅需要处理正数的场景特别有用,比如存储计数器或者索引。 2. **...

    C#实现两个时间相减的方法

    本文实例讲述了C#实现两个时间相减的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace ...

    mysql查询每小时数据和上小时数据的差值实现思路详解

    在MySQL中,有时我们需要对时间序列数据进行复杂的分析,例如计算每小时数据与上一小时数据的差值。本文将详细介绍如何实现这一需求,适用于处理大数据量的场景,特别是涉及实时监控或者趋势分析的情况。 首先,...

    mysql存储过程实现计算两个时间相差,并用年月日时分秒格式输出

    mysql获取两个时间相差年月日:使用mysql存储过程,实现计算两个时间的差值,并用年月日时分秒的格式输出,且从大到小为0时则不展示对应单位(如:相差1小时20秒 则展示'1时0分20秒')

Global site tag (gtag.js) - Google Analytics