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

求助:基于timestamp对ids排序,group by等方法均无效

问题描述
  • 需求:基于timestamp字段对ids进行排序
  • 当前数据状态:
    当前数据状态
  • 期望结果:
    期望结果
  • 已尝试操作:使用GROUP BY及各类条件,但均未实现需求
解决方案

你用GROUP BY的思路不对,GROUP BY是用来做分组聚合的,不是排序工具。要实现按timestamp对ids排序,直接用ORDER BY子句就能解决:

基础排序(所有记录按timestamp排序)

如果只是要把所有记录按照timestamp的顺序排列,执行下面的SQL:

SELECT ids, timestamp
FROM your_table
ORDER BY timestamp ASC; -- 升序用ASC,降序换成DESC,对应你的期望结果选择

分组后排序去重(保留每个ids的最新/最早记录)

如果你的需求是每个ids只保留一条记录,且按timestamp排序后取最新(或最早)的,用窗口函数实现:

WITH sorted_ids AS (
    SELECT 
        ids, 
        timestamp,
        -- 按ids分组,每组内按timestamp降序排,给每条记录标序号
        ROW_NUMBER() OVER (PARTITION BY ids ORDER BY timestamp DESC) AS row_num
    FROM your_table
)
SELECT ids, timestamp
FROM sorted_ids
WHERE row_num = 1 -- 只取每组第一条(最新的记录)
ORDER BY timestamp DESC; -- 最后再整体按timestamp排序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:10:33