如何将每天的值限制为 1000

How can limit the values per day to 1000

我有疑问:

select A.*, A.DocumentID.DocId, D.Key, D.Value
from `serv.dam.events` A  
left join unnest (A.metadata) D 
where A.Creationtimestamp > '2018-10-01' 
order by Creationtimestamp desc 
limit 10000

我想将每天的值限制为 10000。我该怎么做?

您可以使用 row_number() 枚举行:

select *
from (select e.*, e.DocumentID.DocId, D.Key, D.Value,
             row_number() over (partition by date(a.creationtimestamp) order by rand()) as seqnum
      from `serv.dam.events` e left join
           unnest (A.metadata) D 
      where A.Creationtimestamp > '2018-10-01' 
     ) e
where seqnum <= 1000
order by Creationtimestamp desc