创建SQL查询,返回偶数id、业务id、用户id、和事务id
这个问题有几个要求:
- 按表1"允许的结果数"列中列出的数量限制结果数
- 如果有多个匹配实例,请先获取较低的用户id
表一:
event_ID | 业务ID | #_of_results_allowed|
---|---|---|
100 | 200 | 1 |
101 | 201 | 2 |
102 | 202 | 4 |
103 | 203 | 0 |
这里有一种方法:
select t1.event_id, t1.business_id, t2.user_id, t2.transaction_id
from table1 t1
join (
select * , row_number() over (partition by event_id order by user_id) rn
from table2
) t2 on t1.event_id = t2.event_id and t2.rn <= _of_results_allowed