hibernate 计算 总数 查询对象

archko 2008-11-07 04:24:25
有两个表,一个是虚拟物品,一个是实际物品。字段是 itemcode(物品ID), name(物品名称),count(物品被购买次数)
要得到被购买次数最多 (一个物品可以被多次购买,所以可能购买次数是多个相加 ) 的物品,然后显示。
用hibernate不知如何查询。

实际要求是:在这两张表中取出被购买次数最多的,不管是虚拟物品还是实际物品。只是购买次数最多就行了。 (难度更大了)

如果这个不行,那就查单个表中的物品被购买次数最多的就行了。
请教大虾,忙了一下午没有解决,
...全文
477 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
archko 2008-11-08
  • 打赏
  • 举报
回复
guid,itemcode(商品ID),name物品名。count数量。====这里好像是这样的。

就是一个订单对应多个商品,但这个订单里的商品(比如A只有一个购买数量,count),
比如一个订单,其中,商品A被 买了1000,(count就是1000),而另一订单A被买了500,(count就是5000),那这个总数就是 1000+500,
就是要得到这个总数 1500,然后选 出 排名前8位的商品,

别人建的数据库,我只能照着做,配置文件全是工具生成的(写个新的方法,下次要添加一个字段什么的。重新生成配置文件的持久化类,这些又没有了。无语。)。
数据库里挺乱的。没办法
APOLLO_TS 2008-11-08
  • 打赏
  • 举报
回复
还是没说清楚,购买次数多是订单多么?还是所有订单累计的商品数量?

一个商品就一个订单--但是数量是1000
另一个商品是15个订单,每个订单数量才20

是订单多的那个还是总数多的那个?
archko 2008-11-08
  • 打赏
  • 举报
回复
表的设计不是我弄的。商城里的东西,当然不是被买了就没有了。所以有多个count,一个订单一个count啊。
guid,itemcode(订单号),name物品名。count数量。
、============
select max(count) from 实际物品
select max(count) from 虚拟物品
这好像不是我要的。毕竟是要查出名称来显示的。这好像只查出一个最大的。可能是我没说清楚。是排名前8位。

最好是hql的,
bruni 2008-11-07
  • 打赏
  • 举报
回复
单表的还不简单
select max(count) from 实际物品
select max(count) from 虚拟物品

如果要union的话,
select * from (
select itemcode, name, max(count), 'real' from t_real
union
select itemcode, name, max(count), 'virtual' from t_virtual
)

t_real表示实际物品表
t_virtual表示虚拟物品表


badboy_blue 2008-11-07
  • 打赏
  • 举报
回复
count 计数的啊。。。

欢迎加入JAVA交流群 72923840
hengzhan 2008-11-07
  • 打赏
  • 举报
回复
首先问一下你的表是怎么设计的,物品表中既然有count,那么这个count是做什么的呢,不是买一次就加一个么,怎么会出现“
一个物品可以被多次购买,所以可能购买次数是多个相加”,没有主键?是流水?没见过!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧