按時間排序并按類型分組后計算 type 的 num 總和
給定數據表中包含按時間排序和按類型分組的數據。要計算排除最新一條數據后,其余 num 的總和,可以在 mysql 中使用如下查詢:
SELECT t.type, SUM(t.num) FROM ( SELECT type, num, ROW_NUMBER() OVER (PARTITION BY type ORDER BY time DESC ) AS row_num FROM C ) t WHERE t.row_num != 1 GROUP BY t.type
這段查詢使用 cte(通用表表達式)進行以下步驟:
- 添加行號:為每個類型按時間降序計算行號 row_num。
- 過濾出非最新數據:選擇 row_num 不等于 1 的行,從而排除最新數據。
- 按類型分組求和:將剩余數據按類型分組并計算 num 的總和。
最終,查詢返回了一個表格,其中包含按類型分組的 num 總和,排除了最新一條數據。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END