Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql JPQL选择上一行和下一行_Sql_Spring Data Jpa_Jpql - Fatal编程技术网

Sql JPQL选择上一行和下一行

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 |

假设我有一个日期为

未订购 并非全部存在2019/11/01、2019/11/02、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排序或按日期按相同顺序排序行。