當我在Postgres的兩個表使用極限。我想從表格中獲取最新的3條記錄數據。無法使用相關的查詢
下面是查詢:
select two.sid as sid,
two.sidname as sidname,
two.myPercent as mypercent,
two.saccur as saccur,
one.totalSid as totalSid
from table1 one,table2 two
where one.sid = two.sid;
上面的查詢顯示所有記錄檢查情況one.sid = two.sid;我想只有近3個記錄從數據(4,5,6)表2。
我知道Postgres裏,我們可以使用limit
限制要檢索的行,但在這裏,表2中的每個ID我有多行。所以我想我不能在table2上使用限制,但應該在table1上使用。有什麼建議麼?
表1:
sid totalSid
1 10
2 20
3 30
4 40
5 50
6 60
表2:
sid sidname myPercent saccur
1 aaaa 11 11t
1 bbb 13 13g
1 ccc 11 11g
1 qw 88 88k
//more data for 2,3,4,5....
6 xyz 89 895W
6 xyz1 90 90k
6 xyz2 91 91p
6 xyz3 92 92q
查找使用'你的極限,而不是一個'交叉join'或交叉apply''的, '加入我認爲posgresql稱這是一個橫向連接。 https://stackoverflow.com/questions/11472790/postgres-analogue-to-cross-apply-in-sql-server你如何識別「最近?」 – xQbert
或使用窗口函數,如row_number()。 – wildplasser
所以我不能使用LIMIT上述場景? – user7833845