我希望从数据库中获得一个字段和两个日期之间的唯一值。
我的实体领域访问:
我有一些方法,我想通过独特的字段“guestId”获得访问列表:
@Query("SELECT DISTINCT v FROM Visit v WHERE  v.date BETWEEN :start AND :to")
    List<Visit> getBetween(@Param("start") Date start, @Param("to") Date to);但这段时间我得到了所有实体的名单。
我试过查询:
"SELECT DISTINCT  FROM visits WHERE date BETWEEN :start AND :to"但也不起作用。
例如:
表格“访问”的例子:
 Id     GuestId    Date  
 100    200        2019.09.07 
 101    201        2019.09.07 
 102    200        2019.09.07 
 103    201        2019.09.08 
 104    201        2019.09.08 
 105    200        2019.09.08 
 106    201        2019.09.09 
 107    201        2019.09.09 
 108    200        2019.09.09接下来我想做查询
选择日期介于‘2019.09.08’和:'2019.09.08‘之间的访问。“
我想要一份清单:
GuestId    Date  
201        2019.09.08  
200        2019.09.08请帮我找到执行查询
谢谢。
发布于 2019-09-08 20:52:59
必须使用guestId和date字段创建类并使用本机查询,如下所示:
class DistinctVisitView {
    Integer guestId;
    LocalDate date;
}
@Query(nativeQuery = true, value = "SELECT DISTINCT guest_id, date FROM visits WHERE date BETWEEN :start AND :to")
List<DistinctVisitView> getBetween(@Param("start") Date start, @Param("to") Date to);https://stackoverflow.com/questions/57845456
复制相似问题