oracle SQL 取出每个分组的按照日期最新一条记录,同时还显示每个分组某个字段的总和

2025-04-18 05:55:43
推荐回答(1个)
回答1:

--用外链接把AA表和CC表链接起来查询就可以了
SELECT AA.CODE, AA.NUM, AA.PRICE, CC.DATETIME, CC.SUMNUM
  FROM test AA
  --下面的BB表查询的是根据code分组查询num求和及最大datetime,之后作为一个表CC
  LEFT JOIN (SELECT BB.CODE, SUM(NUM) SUMNUM,MAX(BB.DATETIME) DATETIME
               FROM test BB
              GROUP BY BB.CODE) CC
    ON AA.CODE = CC.CODE
 WHERE AA.DATETIME = CC.DATETIME

 --其中DATETIME字段就是你表中的date字段