如何从带有另一个表信息的列表中获取有限的结果



创建SQL查询,返回偶数id、业务id、用户id、事务id

这个问题有几个要求:

  • 按表1"允许的结果数"列中列出的数量限制结果数
  • 如果有多个匹配实例,请先获取较低的用户id

表一:

#_of_results_allowed
event_ID 业务ID
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

最新更新