使用名为查询的数据 jpa 返回具有不同列值的行
Posted
技术标签:
【中文标题】使用名为查询的数据 jpa 返回具有不同列值的行【英文标题】:Returning rows with distinct column value with data jpa named query 【发布时间】:2018-07-22 03:04:42 【问题描述】:假设我有一个包含 3 列 ID、名称、城市的表,并且我想使用命名查询返回具有唯一城市的行..可以做到吗?
【问题讨论】:
【参考方案1】:您是否在询问是否可以编写一个查询,该查询将返回恰好出现在一行中的城市,在具有 ID/名称/城市三元组的表中,同一个城市可能有多行但不同名字? 如果是这样,它将取决于幕后的数据库引擎 - 但您可以尝试以下操作:
with candidates (city, num) as (
select city, count(*) from table
group by city
)
select city from candidates where num = 1
或者
select t1.city from table t1
where not exists (
select * from table t2
where t2.city = t1.city and t2.id <> t1.id
)
table
是这些三元组的表。
【讨论】:
以上是关于使用名为查询的数据 jpa 返回具有不同列值的行的主要内容,如果未能解决你的问题,请参考以下文章