1. 程式人生 > >sql語句分組查詢排序後取出前n條記錄

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方式建立新表;