您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關postgresql獲取每組前幾條記錄的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
postgresql獲取每組前幾條記錄:
示例
表結構如下:
Table "ytt.t1" Column | Type | Modifiers --------+-----------------------+----------- i_name | character varying(10) | not null rank | integer | not null
模擬了20條數據來做演示:
t_girl=# select * from t1 order by i_name; i_name | rank ---------+------ Charlie | 12 Charlie | 12 Charlie | 13 Charlie | 10 Charlie | 11 Lily | 6 Lily | 7 Lily | 7 Lily | 6 Lily | 5 Lily | 7 Lily | 4 Lucy | 1 Lucy | 2 Lucy | 2 Ytt | 14 Ytt | 15 Ytt | 14 Ytt | 14 Ytt | 15 (20 rows)
按照人名分組,每組取3條記錄:
select * from (select i_name, rank, row_number() over(partition by i_name) as row from t1) t where row < =3
SELECT 語句用于從數據庫中選取數據。
結果被存儲在一個結果表中,稱為結果集。
SQL SELECT 語法
SELECT column_name,column_name FROM table_name;
與
SELECT * FROM table_name;
SQL WHERE 子句
WHERE 子句用于提取那些滿足指定條件的記錄。
SQL WHERE 語法
SELECT column_name,column_name FROM table_name WHERE column_name operator value;
關于postgresql獲取每組前幾條記錄的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。