求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 阅读 8 次 更新于 2025-07-21 01:13:28 我来答关注问题0
  •  文暄生活科普 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...

  •  华山一枫 写出MVC的工作原理

    1.当用户在浏览器中点击一个链接或者提交一个表单时,那么就会产生一个请求(request)。当请求离开浏览器时,它会携带用户请求的信息。2.请求的第一站到达的是Spring的DispatcherServlet,它是一个前端控制器,工作是将用户的请求委托给其他的组件(这里是交给Spring MVC的控制器)去处理。这里DispatcherSe...

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

mySQL相关话题

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