怎么列出商品的最近的价格 和时间??sql

yyh21m 2009-02-13 09:02:46
表: 商品(商品名, 价格, 日期)

数据比如:
大豆 4元 2009-1-5
大豆 4.4元 2009-1-4
玉米 3元 2009-1-27

要sql查出2种商品最近的价格和日期

我用distinct搞不定啊 日期出不来
...全文
155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamwho123 2009-02-13
  • 打赏
  • 举报
回复
SQL> select name,price,time from (select a.*,rank()over(partition by name order by time desc) rn from goods a) where rn=1;

NAME PRICE TIME
-------------------- -------------------- --------------------
大豆 4元 2009-1-5
玉米 3元 2009-1-27
caoleione 2009-02-13
  • 打赏
  • 举报
回复
select 名称,价格,日期 from
(select 名称,价格,日期,rownumber() over(partition by 名称 order by 名称,日期 desc) cn from table)
where cn=1
taotie1225 2009-02-13
  • 打赏
  • 举报
回复
貌似楼上的比较好
又是违规昵称 2009-02-13
  • 打赏
  • 举报
回复
试试:
select 商品名, 价格,日期 from 商品 where (商品名,日期) in
(
select 商品名,max(日期) from 商品
)
Andy__Huang 2009-02-13
  • 打赏
  • 举报
回复
或者
select a.*
from tb a
inner join (select 商品名,max(日期) 日期 from tb group by 商品名) b
on a.商品名=b.商品名 and a.日期=b.日期;
Andy__Huang 2009-02-13
  • 打赏
  • 举报
回复 1
select *
from tb a
where 日期 in(select max(日期) from tb b where a.商品名=b.商品名);

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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