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

如何对GridDB中TIME_SAMPLING的查询结果按body_temperature排序?

GridDB 时序采样结果排序解决方案

要实现对TIME_SAMPLING查询结果按body_temperature排序,你需要将采样查询嵌套为子查询,在外层对聚合后的温度字段执行排序操作,具体方案如下:

方案1:基于默认聚合的快速排序

TIME_SAMPLING(*)会对数值型字段自动应用默认聚合函数(通常为AVG),返回的字段名会带上聚合后缀(如body_temperature_avg),直接在外层调用排序即可:

SELECT * FROM (
    SELECT TIME_SAMPLING(*, TIMESTAMP('2023-07-01T00:00:00Z'), TIMESTAMP('2023-07-07T00:00:00Z'), 10, MINUTE) 
    FROM My_Data_Table
) AS sampled_data
ORDER BY body_temperature_avg ASC; -- 替换为DESC可实现降序排序

方案2:指定聚合逻辑的显式排序

如果需要自定义聚合规则(比如用MAX/MIN替代默认的AVG),可以显式定义字段和聚合函数,排序时直接使用自定义字段名:

SELECT * FROM (
    SELECT 
        TIME_SAMPLING(
            TIMESTAMP,
            AVG(heart_rate) AS heart_rate_avg,
            AVG(body_temperature) AS body_temperature_avg,
            TIMESTAMP('2023-07-01T00:00:00Z'), 
            TIMESTAMP('2023-07-07T00:00:00Z'), 
            10, 
            MINUTE
        )
    FROM My_Data_Table
) AS sampled_data
ORDER BY body_temperature_avg DESC;

关键说明

  • TIME_SAMPLING属于聚合查询,无法直接在其末尾追加ORDER BY,必须通过子查询将聚合结果转为临时表后再执行排序。
  • 若不确定聚合后的字段名,可先单独执行内层TIME_SAMPLING查询,查看返回的字段结构后再编写排序语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:18:09