查询最后一次消费记录

/*
查询最后一次消费记录
表结构如下
create table TESTSHIC
(
  NAME        VARCHAR2(50),
  CREATE_DATE DATE,
  DAL         NUMBER(10,1)
)
tablespace OMS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );*/

-- row_number() 是进行一个排序 over() 分析函数
-- (partition by t.name ) 对name 进行分组 条件是 日期从大到小
with a as
 (select t.*,
         row_number() over(partition by t.name order by t.create_date desc) rn
    from testshic t)
select *
  from a
 where a.rn = 1

--oracle 写法
with a as (select t.*,
                  row_number()
                  over(partition by t.name order by t.create_date desc) rn
             from testshic t)
select *
  from a
 where a.rn = 1
---------------
--sqlserver 写法
select *
  from testshic t
 where (t.name, t.create_date) in (select t.name, max(t.create_date)
                                     from testshic t
                                    group by t.name)
                                   
       select *
  from testshic t
 where  t.create_date  in (select  max(t.create_date)
                                     from testshic t
                                    group by t.name)
                                   
                                   
                                   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值