求如何用mysql实现计算上下两条记录的差

方法挺多的,很多是采用排序直接对等连接,这样对于主键聚集索引比较快的。--- 我提供的不是排序对等 方式,而是大范围连接检索最小距离的方式。SELECT A.FID,A.Fnum,MIN(A.Fid-B.Fid)as 差值 FROM test.cte A INNER JOIN test.cte B on(A.FID>B.FID)GROUP BY A.FID,A.Fnum ORDER BY ...
求如何用mysql实现计算上下两条记录的差
方法挺多的,很多是采用排序直接对等连接,这样对于主键聚集索引比较快的。
----
我提供的不是排序对等
方式,而是大范围连接检索最小距离的方式。
SELECT
A.FID,A.Fnum,MIN(A.Fid-B.Fid)
as
差值
FROM
test.cte
A
INNER
JOIN
test.cte
B
on(A.FID>B.FID)
GROUP
BY
A.FID,A.Fnum
ORDER
BY
A.Fid
Desc
---
执行结果:
FID
Fnum
差值
-------------------------
'9323',
'10',
'14'
'9309',
'10',
'1'
'9308',
'10',
'47'
'9261',
'10',
'31'
'9230',
'10',
'23'
'9207',
'10',
'16'
'9191',
'10',
'26'
'9165',
'10',
'14'2019-03-05
1楼的专家,你的查询结果里面会出现1,a,b这种情况
我要的是两表的返回结果只能是
1,a,a或者1,a,null或者1,null,a
--------------------------改改
--加多一个条件
and
a.uid=b.uid
select
a_id,a.uid,b.uid
from
a
left
outer
join
b
on
a.a_id=b.b_id
and
a.uid=b.uid
where
a.a_id='a'
union
select
b_id,a.uid,b.uid
from
a
right
outer
join
b
on
a.a_id=b.b_id
and
a.uid=b.uid
where
b.a_id='a'
--or
left
outer
join
改为
left
join2020-04-07
mengvlog 阅读 31 次 更新于 2025-09-10 13:44:43 我来答关注问题0
  • | 3 | Charlie | 90 | 二、实现上下合并 我们使用MySQL的UNION命令实现表格的上下合并。下面是具体操作步骤:1.使用UNION命令查询两个表格的合并结果 我们使用以下SQL语句查询表格1和表格2的合并结果:SELECT id, name, age, NULL AS score FROM table1 UNION SELECT id, name, NULL AS age,...

  •  高楼望尽天 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...

  •  耀光一坦格利安d425 如何在MySQL中查询当前数据的上下记录?

    方法一,查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):1select * from table_a where id = (select id from table_a where id < {$id} [and other_conditions] order by id desc limit 1) [and other_conditions];查询下一条记录的SQL语句...

  •  翡希信息咨询 Mysql更改密码、连接mysql、mysql常用命令

    默认没有密码时设置密码:mysqladmin -uroot password '123456'(设置root密码为123456)修改密码:mysqladmin -uroot -p'123456' password 'sqlpwd123'(原密码为123456,新密码为sqlpwd123)进入mysql命令行:mysql -uroot -p123456(-p后面直接跟密码)mysql -uroot -p(回车后提示输入密码)不知道ro...

  •  翡希信息咨询 mysql深度分页问题分析及解决方案

    策略:首先只查询必要的字段,然后在应用层通过关联查询获取详细信息。优点:依赖于覆盖索引时,性能显著提高,因为查询列都在索引中,减少了回表操作。实现:需要确保查询列都在索引中,以利用覆盖索引的优势。引入搜索引擎:策略:对于大规模数据,可以考虑使用基于倒排索引的搜索引擎,如ElasticSearch。优点:...

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

mySQL相关话题

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