【问题标题】:Select the latest recored in each 2-minute interval in MySQLMySQL中每2分钟间隔选择最新记录
【发布时间】:2012-12-15 08:23:16
【问题描述】:

我想读取大约 8000 个文件,每个文件都包含不同股票的每日股价,并在一个表中选择每 2 分钟间隔内的最新价格,如果间隔内没有可用记录,则写入 Null。我的想法是添加一个名为 bucketNumber 的列来指示记录属于哪个区间,创建另一个表,其中包含一列值 1、2、...、195,重复 8000 次,然后连接这两个表。最后为bucketNumber相同的记录选择时间戳最大的记录。

这是完成这项工作的好方法吗?如果是,那么如何高效地生成一列值 1、2、...、195 重复 8000 次的表。

【问题讨论】:

    标签: mysql large-data-volumes


    【解决方案1】:

    这是一个查询,它将返回一列从 1 到 8000 的整数值

    SELECT thousands.d*1000 + hundreds.d*100 + tens.d*10 + ones.d + 1 AS num
      FROM ( SELECT 0 AS d UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 
                           UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
                           UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
           ) ones
     CROSS      
      JOIN ( SELECT 0 AS d UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 
                           UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
                           UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
           ) tens
     CROSS
      JOIN ( SELECT 0 AS d UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 
                           UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
                           UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
           ) hundreds
     CROSS
      JOIN ( SELECT 0 AS d UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 
                           UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
                           UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
           ) thousands
    HAVING num <= 8000
    ORDER BY num
    

    【讨论】:

      【解决方案2】:

      似乎存储过程是最简单的方法。只需遍历每 2 分钟的间隔,然后从该间隔内具有最长时间的记录中选择价格。您可以包含开始时间和结束时间的参数,这将提供更通用的解决方案。

      【讨论】:

        猜你喜欢
        • 2015-09-28
        • 1970-01-01
        • 1970-01-01
        • 2017-08-05
        • 2013-08-28
        • 2014-02-15
        • 1970-01-01
        • 2014-09-12
        • 2013-01-10
        相关资源
        最近更新 更多