来自其他SELECT的变量LIMIT

时间:2019-03-08 18:06:23

标签: mysql sql join limit

我有一个memory[ 3 * BLOCKS + 2] 列的表memory[ seg * BLOCKS + block]

也有一个typedef int (*memseg_t)[BLOCKS]; memseg_t memory = (memseg_t)malloc(BLOCKS * input * sizeof(int)); 列的memory[seg][block]

现在,每个凭证都与av个用户相关(按时间戳排序),其中ID, amount是特定凭证的users值。

我做了一个dbfiddle并举了一个小例子

我的预期结果:

ID, timestamp

为了更好地理解:

管理员创建一个凭证,该凭证应送给注册的前X个用户。每个优惠券都有不同的X

1 个答案:

答案 0 :(得分:2)

我想这就是你想要的:

with
u as (
  select userID, timestampMock, 
    row_number() over (order by timestampMock) as rn
  from users
)
select
  av.voucherID, u.userID
from av
join u on u.rn <= av.amount
order by av.voucherID, u.userID

我在您的dbfiddle中对其进行了测试,其结果是:

voucherID   userID
---------   ------
11          10
12          10
12          11