这个语句是实现每个 USERID 消费最少的费用数目,若更改最后一处那里的 ORD<2 的数字则可以实现每个 USERID 消费从小到大前几位。SELECT * FROM &the_tab WHERE ROWID IN(
SELECT ROW_ID
FROM (SELECT USERID,MONEY,
RANK() OVER (PARTITION BY USERID ORDER BY MIN(MONEY)) ORD,
MIN(ROWID) ROW_ID
FROM &the_tab
GROUP BY USERID,MONEY
) TMP
WHERE ORD<2);