我想选择表的每一列,但希望行的单个属性具有不同的值(示例中为城市)。我不需要额外的列(例如计数或其他列),只需要有限数量的结果,而且似乎不可能直接在 JPQL 查询中限制结果。
原表:
ID | Name | City
---------------------------
1 | John | NY
2 | Maria | LA
3 | John | LA
4 | Albert | NY
如果我在城市上做不同的事情,想要的结果:
ID | Name | City
---------------------------
1 | John | NY
2 | Maria | LA
最好的方法是什么?感谢您的帮助。
最佳答案
在 JPQL 中,您可以执行以下操作:
select e
from MyEntity e
where e.id in (select min(e.id) from MyEntity e group by e.city)
这将返回:
MyEntity [id=1, name=John, city=NY]
MyEntity [id=2, name=Maria, city=LA]
关于orm - JPQL/SQL : How to select * from a table with group by on a single column?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723725/