1

我正在尝试在 mysql 中对数据进行标准分桶:将数据沿某些特征拆分为 N 个桶,并将桶号分配给每个条目。条目由日期、permno 和 volume 组成,如下所示:

dte, permno, volume, day_rank

1986-03-07, 10071, 9203, 空

该表的标题为 bam。在每个日期 (dte) 上,我想根据数量对许多 permnos (ids) 进行排名。然后,我想将每个 permno、dte 的排名分配给 day_rank。因此,成功的查询将根据容量对每个 dte 的 permnos 进行排名。我试图用这个复杂的查询来做到这一点:

 select a.dte, a.permno, count(b.volume) as rnk
 from bam a inner join bam b
 on a.dte = b.dte and (a.volume < b.volume or (a.permno=b.permno and a.volume =      b.volume))
 order by a.dte, a.volume;

这很有效,但是对于一个大小合理的桌子来说,它需要大约 1 天的时间才能运行。

有任何想法吗?

4

0 回答 0