举例: row_number() over(partition by clue_id order by state_updated desc)

业务举例:

select distinct a.clue_id,
a.car_price,
a.service_amount,
a.buy_car_service_price,
a.created_at,
substr(a.state_updated,1,10) as state_updated
from
(
select distinct order_id,
clue_id,
car_price, --车辆成交价 deal_price
service_amount, --售车服务费
buy_car_service_price , --收车应收服务费
state_updated , --状态变更时间
created_at,
row_number()over(partition by clue_id order by state_updated DESC) as rank
from guazi_dw_dwd.dwd_ctob_trade_online_status_transfer_ymd -- 已定时间 --快卖线上化日志表 --ods.ods_ctob_trade_order
where dt = CAST(date_add('day', -1, current_date) AS VARCHAR)
and state = '10320000' ---10920000为已售
and substr(state_updated,1,10) >= '2019-06-10'
)a
where a.rank = 1

排序规则:

a   row_number  rank    dense_rank
------------------------
A   1    1    1
D   2   2   2
B   3   2   2
C   4   4   3
G   5   5   4
E   6   6   5
F   7   7   6
 
说明:
row_number: 不管排名是否有相同的,都按照顺序1,2,3…..n 
rank: 排名相同的名次一样,同一排名有几个,后面排名就会跳过几次 
dense_rank: 排名相同的名次一样,且后面名次不跳跃
 

一、sum(), min(), max(), avg() 等聚合函数

二、row_number(), rank(), dense_rank(), ntile() 等新增加序号列

三、lag(), lead(), first_value(), last_value() 等函数

四、grouping set, cube, roll up 等函数

链接:https://www.jianshu.com/p/9fda829b1ef1?from=timeline

常用的分析函数如下所列:

row_number() over(partition by … order by …)
rank() over(partition by … order by …)
dense_rank() over(partition by … order by …)
count() over(partition by … order by …)
max() over(partition by … order by …)
min() over(partition by … order by …)
sum() over(partition by … order by …)
avg() over(partition by … order by …)
first_value() over(partition by … order by …)
last_value() over(partition by … order by …)
lag() over(partition by … order by …)
lead() over(partition by … order by …)

最新文章

  1. jquery.cookie() 的使用(原)
  2. C1000k 新思路:用户态 TCP/IP 协议栈
  3. 配置Kotlin环境(DataBinding)
  4. Linux系列笔记 - 用户以及用户组命令
  5. $root knockout
  6. finally 语句
  7. 辛星Spring4.x教程开放下载了
  8. python 获取对象信息
  9. Software Engineering-HW8 个人总结
  10. Linux知识积累(6) 系统目录及其用途
  11. xshell连接虚拟机ubuntu
  12. 使用CSS选择器实现选择指定子节点
  13. Java生成sitemap网站地图
  14. git pull总是要输入账号和密码
  15. 使用promisify解决fs的回调地狱问题
  16. python中itertools里的product和permutation
  17. 4、C语言的编译过程链
  18. 12.22daily_scrum
  19. hdu 2771(uva 12171) Sculpture bfs+离散化
  20. Tomcat配置列表显示

热门文章

  1. Gitblit用户没有push权限,但是已经在team里面配置了
  2. 测开之路四十:jQuery基本用法
  3. Hibernate中常用HQL
  4. Asp.Net Core 第06局:中间件
  5. Linux操作系统(四)_部署MySQL
  6. 并发数/QPS/PV/ 服务器响应时间公示
  7. VB - FSO的常见对象和方法
  8. Mybatis简介与原理
  9. RSA加密、解密实现原理
  10. [CF1228] 简要题解