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

如何在SQL每日最高价格查询结果中追加对应时间字段

实现方案

你可以根据使用的数据库类型选择以下两种写法:

1. 窗口函数写法(支持MySQL8.0+、BigQuery、PostgreSQL等主流新数据库,执行效率更高)

SELECT date, time, high AS daily_max_high
FROM (
    SELECT 
        date,
        time,
        high,
        ROW_NUMBER() OVER (PARTITION BY date ORDER BY high DESC) AS rn
    FROM `eurusdm1.eurdata112021.forexdata`
) t
WHERE rn = 1;

实现逻辑:按日期分组后给同日期内的所有记录按价格从高到低排序,取排序第一的记录即为当日最高价对应的完整记录,可直接拿到对应时间。

2. 关联子查询写法(兼容所有支持标准SQL的数据库)

SELECT 
    t1.date,
    t1.time,
    t1.high AS daily_max_high
FROM `eurusdm1.eurdata112021.forexdata` t1
INNER JOIN (
    SELECT date, MAX(high) AS max_high
    FROM `eurusdm1.eurdata112021.forexdata`
    GROUP BY date
) t2 ON t1.date = t2.date AND t1.high = t2.max_high;

实现逻辑:先通过子查询查询到每日对应的最高价格,再关联回原表匹配出该价格对应的时间字段即可。

输出样例

最终查询结果会包含日期、最高价对应的时间、当日最高价三个核心字段:

datetimedaily_max_high
2021-08-0603:151.17636
2021-08-0914:201.17689
2021-08-1009:451.17428
2021-08-1116:051.17533

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:27:07