You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

InfluxDB中提取各股票最新价格的查询方法

获取InfluxDB中每只股票的最新价格

针对你要提取每只股票最新价格的需求,在InfluxDB里可以用专门的聚合函数快速实现,比常规SQL的写法更贴合时序数据的特性:

最终查询语句

SELECT LAST(Price) AS Price, LAST(time) AS Time
FROM stock_prices
GROUP BY Ticker

为什么这么写?

  • LAST()是InfluxQL的聚合函数,会返回每个分组内时间最晚的那条记录的对应字段值;
  • 我们按Ticker分组,这样每只股票会单独计算一组;
  • 同时提取LAST(Price)得到最新价格,LAST(time)得到该价格对应的时间戳,正好匹配你想要的结果格式。

和常规SQL的对比

你提到常规SQL的写法,通常会用窗口函数来实现,比如:

SELECT Time, Ticker, Price
FROM (
    SELECT 
        Time, 
        Ticker, 
        Price,
        ROW_NUMBER() OVER (PARTITION BY Ticker ORDER BY Time DESC) AS rn
    FROM stock_prices
) t
WHERE rn = 1;

而InfluxDB作为时序数据库,针对这种“取分组内最新数据”的场景,用LAST() + GROUP BY的写法更简洁高效,不需要嵌套子查询。

验证结果

用你给出的示例数据执行上面的InfluxQL查询,会得到完全符合预期的结果:

TimeTickerPrice
12:03IBM100.15
12:04MSFT51.00
12:05AMZN200.00

内容的提问来源于stack exchange,提问作者gt6989b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:57:16