mysql 取差值_mysql计算两条数据差值,求大神解答
1.创建3张表:
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`warter` int(11) DEFAULT NULL,
`roomid` int(11) DEFAULT NULL,
`createtime` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
create table t1_01 like t1;
create table t1_02 like t1;
2.初始化数据(类似楼主的数据):
insert into t1(warter,roomid,createtime) values(100,1,””2015-02-20 14:31:57″”),(150,1,””2015-03-20 14:33:01″”),(50,2,””2015-04-20 14:34:10″”),(210,1,””2015-04-20 14:56:50″”);
mysql> select * from t1 order by roomid,createtime desc;
+—-+——–+——–+———————+
| id | warter | roomid | createtime |
+—-+——–+——–+———————+
| 4 | 210 | 1 | 2015-04-20 14:56:50 |
| 2 | 150 | 1 | 2015-03-20 14:33:01 |
| 1 | 100 | 1 | 2015-02-20 14:31:57 |
| 3 | 50 | 2 | 2015-04-20 14:34:10 |
+—-+——–+——–+———————+
4 rows in set (0.00 sec)
mysql>
3.生成t1_01表的数据:
insert into t1_01(warter,roomid,createtime) select warter,roomid,createtime from t1 order by roomid,createtime desc;
4.生成t1_02表的数据:
insert into t1_02 select id+1 as id, warter,roomid,createtime from t1_01;
5.生成最终结果:
select t2.*,(t2.warter-t1.warter) as warter_diff from t1_01 t1
inner join t1_02 t2
on t1.roomid=t2.roomid and t1.id=t2.id
union all
select t1.*, t1.warter as warter_diff from t1_01 t1
inner join (select min(createtime) cr,roomid from t1 group by roomid) t2
on t1.roomid=t2.roomid and t1.createtime=t2.cr;
+—-+——–+——–+———————+————-+
| id | warter | roomid | createtime | warter_diff |
+—-+——–+——–+———————+————-+
| 2 | 210 | 1 | 2015-04-20 14:56:50 | 60 |
| 3 | 150 | 1 | 2015-03-20 14:33:01 | 50 |
| 3 | 100 | 1 | 2015-02-20 14:31:57 | 100 |
| 4 | 50 | 2 | 2015-04-20 14:34:10 | 50 |
+—-+——–+——–+———————+————-+
4 rows in set (0.00 sec)
mysql>
注:t1_01和t1_02表在多并发情况下,可以采用临时表。
mysql 取差值_mysql计算两条数据差值,求大神解答相关推荐
- python代码大全p-基于python实现计算两组数据P值
我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性. 一.代码 # TTest.py # -*- coding: utf-8 -*- ''' # ...
- python中计算如何实现_基于python如何实现计算两组数据P值
我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性. 一.代码# TTest.py # -*- coding: utf-8 -*- ''' # C ...
- matlab 连续两个if,求大神解答一个matlab中的for循环嵌套if选择语句
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求大神解答一个matlab中的for循环嵌套if选择语句回答:1.最后缺少一个end;2.这句输出没什么意义:disp A(i)=A ...
- python计算相关性显著性p值_基于python实现计算两组数据P值
我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性. 一.代码# TTest.py # -*- coding: utf-8 -*- ''' # C ...
- mysql计算两个月份之间的差值_MySQL计算两个日期相差的天数、月数、年数
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...
- 计算机如何转金融,计算机要不要转金融,求大神支招!!!(转载)
大学的第一学期结束了,我在犹豫要不要转专业. 目前念的计算机科学与技术,可是楼主是个妹纸,也不太像女汉子. 用点心学,应该还行,因为兴趣不大,估计也在这上面,不会有很高的造诣,考虑到长远的职业生涯,真 ...
- java计算两列数据差_DAX计算列基于其他表中的两列
我需要编写一个DAX语句,从概念/逻辑的角度来看有点复杂 - 所以这可能很难解释 . 我有两张 table . 在第一个表(如下所示)上,我有一个数值列表(工资) . 对于每个值,我都有相应的日期范围 ...
- Mysql 查询满足条件 相邻的两条数据(场景:上一篇、下一篇)
select * from t_zhy_XX where id in (select case when SIGN(id-?1)>0 THEN MIN(id) when SIGN(id-?1)& ...
- mysql linux改user_linux mysql误修改user表导致无法root用户登录,求大神帮助。-问答-阿里云开发者社区-阿里云...
linux mysql误修改user表导致无法root用户登录,急救!!! mysql> select user,host,password from user; user host passw ...
最新文章
- 一、nginx基本模块以及模块配置
- 常考数据结构与算法:重建二叉树
- UA MATH566 统计理论 截断数据
- ansible模块---续
- 冷链食品竟然也有 “身份证”?
- CAS服务下单点登录(服务端与客户端)
- qthread中获取当前优先级_Linux中强大的top命令
- 易生信Linux培训
- 【Calcite】Calcite入门
- 《如何搭建小微企业风控模型》第十节 单变量分析(下)节选
- 网址大全:国外超级便宜空间
- div默认外边距是多少_CSS盒模型之内边距、边框、外边距 十九问(持续更新)...
- 使用不同的膨胀和腐蚀方法对图像进行处理
- Python 语言参考手册
- 人工智能——产生式系统(动物识别产生式系统)项目开发
- 应急响应-winlinux分析后门勒索病毒攻击
- Git和SVN区别和命令
- 计算机网络语音传输杂音回音,语音时有回音和杂音,怎么消除?
- Python 查看已安装的软件包及版本
- 【samba】Wodows同步Linux文件|搭建共享文件服务器——在windows上映射网络驱动器...