求大神帮忙拼一跳sql语句 hql语句是最好啦;问题大概是这样 我有一个商品表 和 一个价格表 是一个一对多的关系
价格表的字段是
-id;
-商品id;
-当前价格;
-上次价格;
-获取价格的当前时间;一个商品 可以获得不同时间的多个历史价格 现在我想从数据库里面去做一个查询 查到每件商品的最后一个时间的价格信息 并按照当前价格 减去 上次价格 的价格差降序排列。
求大神支招 并给出hql语句 谢谢啦 么么哒
价格表的字段是
-id;
-商品id;
-当前价格;
-上次价格;
-获取价格的当前时间;一个商品 可以获得不同时间的多个历史价格 现在我想从数据库里面去做一个查询 查到每件商品的最后一个时间的价格信息 并按照当前价格 减去 上次价格 的价格差降序排列。
求大神支招 并给出hql语句 谢谢啦 么么哒
解决方案 »
- 我的关注(人,商品,店铺)数据库表怎么设计好点?
- 在mysql存储过程中为什么不能这样写:update chain_order_number con set iNextId = con.next_id = co
- 100分:请教mysql取消自动提交设置。
- MySQL与MSSQL相比,那个适合做中小型搜索引擎?效率那个更好?
- 在线等!
- 怎么通过select得到本行的行号??
- mysql在大数据量的时候如何快速分页/排序
- 从网络上找到一篇文章,很简练的阐述了一些关于优化数据库性能的观点
- mysql 安装问题
- 两个线程分别对应两个数据库连接, 为什么同时select消耗时间成倍增长?
- select 查询排序问题,希望可以效率比较高
- MySQL存储过程执行很慢
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
试试这个:select p.*,
t.*
from 商品表 p
left join
(
select * from 价格表 order by 商品id,获取价格的当前时间 desc
)t
on p.商品id = t.商品id
group by p.商品id
FROM `商品表`
LEFT JOIN `价格表`
ON `商品表`.`商品ID`=`价格表`.`商品ID`
GROUP BY `价格表`.`商品ID`
ORDER BY `当前价格`-`上次价格` ASC