求MYSQL数据库中上下相邻两行的差

mysql> set @last_id := -1;Query OK, 0 rows affected (0.00 sec)mysql> select id, A, B, result -> from -> ( -> select -> table1.*, -> @last_id, -> if(@last_id < 0, null, id - @last_id) as result, -> @last_id :...
求MYSQL数据库中上下相邻两行的差
这个结果要从第一个开始吗?那样就有点复杂了。这个行不行,结果是从第二行开始的:
mysql> set @last_id := -1;Query OK, 0 rows affected (0.00 sec)mysql> select id, A, B, result -> from -> ( -> select -> table1.*, -> @last_id, -> if(@last_id < 0, null, id - @last_id) as result, -> @last_id := id -> from -> table1 -> ) as tmp -> ;+----+------+------+--------+| id | A | B | result |+----+------+------+--------+| 1 | 2 | 1 | NULL || 21 | 1 | 1 | 20 || 33 | 3 | 2 | 12 |+----+------+------+--------+3 rows in set (0.00 sec)2013-12-09
SELECT t1.id,t1.a,t1.b,t2.id-t1.id as resultFROM (select a.id,a.a,a.b,count(*) as rownum from table1 a,table1 b where a.id>=b.id group by a.id,a.a,a.b) t1LEFT JOIN (select a.id,a.a,a.b,count(*) as rownum from table1 a,table1 b where a.id>=b.id group by a.id,a.a,a.b) t2 ON t1.rownum=t2.rownum-1有问题再追问吧
这是假定你的id都是依次递增的,,,因为我看你没有自增字段的
2013-12-09
mengvlog 阅读 102 次 更新于 2025-09-09 20:51:08 我来答关注问题0
  •  高楼望尽天 mysql 求当前时间上下相邻两条数据的sql语句怎么写

    mysql 求当前时间上下相邻两条数据的sql语句怎么写 mysql> set @last_id := -1;Query OK, 0 rows affected (0.00 sec)mysql> select id, A, B, result -> from -> (-> select -> table1.*,-> @last_id,-> if(@last_id < 0, null, id - @last_id) as result...

  •  文暄生活科普 TPCH 深入剖析 - part1 Hidden Messages and Lessons Learned from an Influential Benchmark

    对于group by操作,当group key数量较多时,使用hash aggregation可能效率低下,尤其是当数据无法放入内存中时,spill to disk则会成为解决方法。有序聚合则在数据已按group key有序(或至少相同key相邻)时效果更佳。选择hash或有序聚合取决于可用硬件资源和查询特性。利用查询中的有序性(可能源自两方面...

  •  huangmin8818 spring mvc的运行原理是什么,m代表什么,v代表什么,v包含些什么,m包含些什么??

    m代表model模型,v代表view视图,c代表controller,控制器。m中包含你写的业务逻辑,就是取数据的模型,v代表你显示的视图,c来控制m和v之间的关系。mvc的运行原理基本一样没有什么不一样的地方,只是不同的mvc框架的实现技术不一样吧了。接下来我给你考一段网上的别人的看法;模型-视图-控制器(M...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部