我有以下查询。如何将以下查询转换为 HQL 查询。
+--------+------------+-------+
| type | variety | price |
+--------+------------+-------+
| apple | gala | 2.79 |
| apple | fuji | 0.24 |
| apple | limbertwig | 2.87 |
| orange | valencia | 3.59 |
| orange | navel | 9.36 |
| pear | bradford | 6.05 |
| pear | bartlett | 2.14 |
| cherry | bing | 2.55 |
| cherry | chelan | 6.33 |
+--------+------------+-------+
我想要得到以下结果
+--------+----------+-------+
| type | variety | price |
+--------+----------+-------+
| apple | fuji | 0.24 |
| orange | valencia | 3.59 |
| pear | bartlett | 2.14 |
| cherry | bing | 2.55 |
+--------+----------+-------+
select f.type, f.variety, f.price
from (
select type, min(price) as minprice
from fruits group by type
) as x inner join fruits as f on f.type = x.type and f.price = x.minprice;
最佳答案
我认为这应该有效(未经测试):
select f.type, f.variety, f.price
from fruits f
where f.price = (
select min(f2.price)
from fruits f2
where f2.type = f.type
)
编辑:请记住,如果一个类型
对于多个品种
具有相同的价格
,所有这些行都将通过此查询选择。
关于mysql - 如何将以下 sql 查询转换为 HQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17161993/