MySQL SQL实现上下行相加减
发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,测试用表:CREATE TABLE `test` (`id` int(11) NOT NULL auto_increment,`value` int(11) default NULL,PRIMARY
千家信息网最后更新 2024年10月20日MySQL SQL实现上下行相加减测试用表:
随意加入测试数据:
目的:
row2-row1
row3-row2
row4-row3 以此类推,输出。
先做个自连接,连接条件为id1=id2+1,让id1正好为id2的下一个自增。
因为id1为id2的下一个自增,故value1-value2相减为最后的结果。
将上述的自连接结果集写作临时表,让value1与value2相减得到最后的结果:
3、1、4即为 5-2、6-4、10-6。
同理可得上下行相加。
作者微信公众号(持续更新)
- CREATE TABLE `test` (
- `id` int(11) NOT NULL auto_increment,
- `value` int(11) default NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
随意加入测试数据:
- mysql> SELECT * FROM test;
- +------+-------+
- | id | value |
- +------+-------+
- | 1 | 2 |
- | 2 | 5 |
- | 3 | 6 |
- | 4 | 10 |
- +------+-------+
目的:
row2-row1
row3-row2
row4-row3 以此类推,输出。
先做个自连接,连接条件为id1=id2+1,让id1正好为id2的下一个自增。
- mysql> SELECT a.id id1, b.id id2, a.value value1, b.value value22
- -> FROM test a JOIN test b ON a.id = b.id + 1;
- +------+------+--------+---------+
- | id1 | id2 | value1 | value2 |
- +------+------+--------+---------+
- | 2 | 1 | 5 | 2 |
- | 3 | 2 | 6 | 5 |
- | 4 | 3 | 10 | 6 |
- +------+------+--------+---------+
- 3 rows in set (0.00 sec)
因为id1为id2的下一个自增,故value1-value2相减为最后的结果。
将上述的自连接结果集写作临时表,让value1与value2相减得到最后的结果:
- mysql> SELECT value1 - value2 RESULT
- -> FROM (
- -> SELECT a.value value1, b.value value2
- -> FROM test a JOIN test b ON a.id = b.id + 1
- -> ) t;
- +--------+
- | RESULT |
- +--------+
- | 3 |
- | 1 |
- | 4 |
- +--------+
- 3 rows in set (0.00 sec)
3、1、4即为 5-2、6-4、10-6。
同理可得上下行相加。
作者微信公众号(持续更新)
结果
测试
上下
以此类推
作者
公众
数据
条件
目的
更新
类推
输出
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何清理云服务器的内存
数据库手动连接本地
软件开发 培训 深圳
海珠软件开发哪家强
什么叫做网络安全生物安全
儿童学习软件开发
游戏软件开发中程序员
tc服务器配置
根域名服务器慢
七律网络安全宣传
SQL数据库技术答案
主从数据库硬件配置
新的数据库如何查询表名
实现数据库分页
数控系统传输软件开发
网络安全等级通信要求
软件开发对英语要求
c 查找数据库
软件开发中心就业
个人课题软件开发费合同
企业数据库备份架构
比太软件开发
儿童学习软件开发
网络安全捍卫
用word做网络安全手抄报
数据库连接显示实例名称不正确
2019网络技术挑战杯总决赛
数据库在我们生活中重要性
服务器的双链和单链的区别
代理服务器ip设置