Sql JPQL选择上一行和下一行
假设我有一个日期为 未订购 并非全部存在2019/11/01、2019/11/02、2019/11/05 我需要为具体日期选择“上一个”或“同一个”和“下一个”。假设我有一张桌子Sql JPQL选择上一行和下一行,sql,spring-data-jpa,jpql,Sql,Spring Data Jpa,Jpql,假设我有一个日期为 未订购 并非全部存在2019/11/01、2019/11/02、2019/11/05 我需要为具体日期选择“上一个”或“同一个”和“下一个”。假设我有一张桌子 |-------------| | Date | |-------------| | 2019/11/01 | |-------------| | 2019/11/02 | |-------------| | 2019/11/03 | |-------------| | 2019/11/05 |
|-------------|
| Date |
|-------------|
| 2019/11/01 |
|-------------|
| 2019/11/02 |
|-------------|
| 2019/11/03 |
|-------------|
| 2019/11/05 |
|-------------|
如果我尝试为日期2019/11/03选择结果,那么结果必须是2019/11/03相同&下一个是2019/11/05
如果我尝试为日期2019/11/04选择结果,则结果必须是2019/11/03上一个和2019/11/05下一个
我知道如何通过两个单独的查询来实现这一点,但我希望有一种方法可以在一个单独的查询中实现这一点。您可以共享这两个单独的查询吗?这有助于我们更好地理解您的问题,以及您到目前为止尝试了什么。子选择在JPQL中禁止在选择和自部分中使用,因为它们可以用于WHERE子句部分。您是否尝试过这样的操作:从日期d中选择d,其中d.id=从日期中选择maxdStart.id dStart其中dStart.date:inputDate这假设id列与其日期部分相比是单调的,即按id排序或按日期按相同顺序排序行。您可以共享这两个单独的查询吗?这有助于我们更好地理解您的问题,以及您到目前为止尝试了什么。子选择在JPQL中禁止在选择和自部分中使用,因为它们可以用于WHERE子句部分。您是否尝试过这样的操作:从日期d中选择d,其中d.id=从日期中选择maxdStart.id dStart其中dStart.date:inputDate这假设id列与其日期部分相比是单调的,即按id排序或按日期按相同顺序排序行。