sql语句分组查询排序后取出前n条记录

1.sql语句分组排序后取出前n条记录

(SELECT
	*
FROM
	(
		SELECT
			"row_number" () OVER (
				PARTITION BY mmsi
				ORDER BY
					orginal_in_draught DESC
			) AS rid,
			mmsi,
			orginal_in_draught
		FROM
			shipping_od_cargo_2017_1218_rec
	) tt1
WHERE
	tt1.rid < 4

该sql语句主要实现,按照mmsi数值分组,然后按照orginal_in_draught 数值倒序排序后,取出每组中最大的前三条记录。

2.with as用法
使用多个with创建临时表tab_tem1的时候,不能够紧跟着使用create根据查询临时表tab_tem1的返回结果创建新表表;但是可以使用select value1,value2 into new_tab from tab_tem1方式创建新表;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值