l77yq 2010-03-09 14:09
浏览 189
已采纳

新手请教hibernate中查询的问题

数据库中有资产表Asset,属性有type,name,price

表中记录:
type,name,price
1.software,oracle,10000
2.software,weblogic,20000
3.software,oracle,50000
4.hardware,computer,3000

要得到的统计结果:
类型,名称,数量,总价值
software,oracle,2,60000
software,weblogic,1,20000
hardware,computer,1,3000

请问在hibernate中怎么用hql查询?

select asset.type,asset.name,temp.namecount,temp.pricesum from Assets asset,

(select distinct asset.name name,count(*) namecount,sum(asset.price) pricesum from Assets asset

group by asset.name) temp

where asset.name=temp.name
这是我用的sql,但hibernate报错,据说hibernate不支持select from子嵌套查询

  • 写回答

2条回答

  • iteye_13500 2010-03-09 15:42
    关注

    [quote]你只查询了后面三列结果,我现在的问题是如何将第一列type也查询出来。
    因为group by asset.name 前面不能查询asset.type,我不知道怎样做[/quote]

    了解了,用:

    [code="java"]String hql = "select asset.type as type, asset.name as name,count(asset.name) as namecount,sum(asset.price) as pricesum from Assets asset group by asset.name, asset.type";[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题