尔尔n 2022-04-18 10:08 采纳率: 84.6%
浏览 65
已结题

查询sql,现在要求是查出coupon_no为a,日期最近的一条数据

就是一个查询sql,现在要求是查出coupon_no为a,日期最近的一条数据,但金额是两条数据相加的值,也就是金额查询结果为25,目前写出来的sql是这种,得不到想要的结果..这种情况应该要怎么写啊(我这写的有点简化,实际会展示很多列)

数据: coupon_no   total_prices    accept_date
          a            20         2022/04/17
          a            5          2022/04/18


select total_prices from (select total_prices,
row_number() OVER(PARTITION BY coupon_no ORDER BY accept_date desc) counts)
from tb) temp where temp.counts = '1'

  • 写回答

4条回答 默认 最新

  • Null_Reference 2022-04-18 10:43
    关注
    select temp.*,b.sum_total_prices from (select *,
    row_number() OVER(PARTITION BY coupon_no ORDER BY accept_date desc) counts)
    from tb) temp 
    (select coupon_no,sum(total_prices) as sum_total_prices from t_consumption group by t_user_id) b
    on b.coupon_no= temp.coupon_no
    where temp.counts = '1'
    
    

    这样可以实现 估计查询效率不是很好

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

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 修改了问题 4月18日
  • 修改了问题 4月18日
  • 展开全部