sql - 使用 JOINS 比较 SQLite 中的后续行

标签 sql sqlite join

我有一个表 MyTable,其中有一个有序列 A(无主键)

A
____
2
3
4
10
13
14
20

我想将此表与其本身进行比较,所以我有这样的东西

T1.A  T2.A
________
2     3
3     4
4     10
10    13
13    14
14    20
20    null

T1 和 T2 是 MyTable 的别名。

那么,如何在不使用诸如WITH AS之类的东西的情况下使用普通的JOIN来比较每一行与下一行呢?这是因为 SQLite 没有WITH-AS 子句。

最佳答案

为此,请使用相关子查询:

select t1.a,
       (select t2.A from t t2 where t2.A > t1.A order by t2.A limit 1
       ) as NextA
from t t1

关于sql - 使用 JOINS 比较 SQLite 中的后续行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525358/

相关文章:

SQL Server : RowVersion equivalent in Oracle

java - 根据从数据库中提取的出生日期计算年龄

mysql - SQL 查询 - 多个条件下的多个计数

python - SQLite AUTOINCRMENT 列计数器行为与 ON CONFLICT IGNORE 子句

database - 将数据从一个 SQLite 数据库复制到另一个

php - 如何在具有2列的mysql连接查询中显示名称而不是id

mysql - SQL:查询两个单独的表并返回计数值,然后按两个返回值分组

database - 使用 sqldf 读取和查询 SQLite 数据库

MYSQL Count group by rows 忽略 JOIN 和 SUM 字段对 Joined 表的影响

sql - Mysql SQL连接问题