我有以下类的结构FlowerDAO与字段(使用Hibernate映射):
颜色
如何创建一个hql查询来获取每种颜色的花朵(具有(ve)该颜色的最小单价?)
我试过这个,但它不起作用
from FlowerDAO as f where f.unitPrice<= (select min(f2.unitPrice) from FlowerDAO as f2 where f2.color=f.color)
group by f.color
答案 0 :(得分:2)
我怀疑问题是将单个值与一组结果进行比较。尝试将&lt; =替换为'in',以便查询:
from FlowerDAO as f
where f.unitPrice in
(select min(f2.unitPrice) from FlowerDAO as f2 where f2.color=f.color)
另外,我从最后删除了'group by',因为这只会为每种颜色提供一个结果,并且你在问题花中提到了。您可能想要使用
order by f.color
代替?