SQL查询使用查找表选择记录的数量基于一天



我有一个场景,我必须根据日期选择特定数量的记录。例如:在8月15日,我只想在8月16日选择1000条记录和2000个客户,在8月17日选择5000个客户,以此类推....没有具体的订单,但必须这样做一个月。这些信息是静态的,不会改变,所以我创建了一个静态表,如下所示,我必须将其连接到另一个名为driver的表,以提取其他列,如余额,付款等。驱动表有近100万条记录,并且没有任何连接列连接到这个静态表,我想到使用时间戳列并从中提取日期并将其用作连接。我是一个最近通过和新的sql,所以请让我知道这是如何实现的。

静态表:

<表类>天数tbody><<tr>08/15100008/16200008/17500008/189000

假设在第二个表中有一个日期,您将使用joinrow_number():

select d.*
from (select d.*,
row_number() over (partition by date order by date) as seqnum
from driver d
) d join
static s
on d.date = s.day
where seqnum <= s.count;

相关内容

  • 没有找到相关文章

最新更新