【发布时间】:2020-02-04 18:37:08
【问题描述】:
我想选择 10 个商户账户,为每个商户账户选择前 15 条交易记录,页面大小为 10*50 ?
我有这个查询,它为我提供了最重要的记录,我需要修复以选择“每个商家帐户 ID 的前 15 条记录”,而不仅仅是前 150 条记录。
欢迎任何指针、建议、代码修复!
SELECT * FROM (
SELECT account_id,transaction_id,ROWNUM RNUM
FROM transactions
WHERE status='P' AND ROWNUM < ( (p_page_number * p_page_size) + 1)
GROUP BY account_id,transaction_id, ROWNUM
ORDER BY account_id
) a
WHERE rnum >= ( ( (p_page_number - 1) * p_page_size) + 1);
【问题讨论】:
-
谢谢巴拉吉比拉杰达尔。我想知道您使用的是什么版本的数据库?
-
查找交叉应用和
fetch first 15 rows only..asktom.oracle.com/pls/asktom/… -
哪 15 笔交易?您希望他们如何订购最新的产品?最老的?基于 transaction_ID?
标签: sql oracle filtering greatest-n-per-group paging