如:tabletestcodenumpricedatea110.002014-04-01a220.002014-04-02a330.002014-04-03b220.002014-04-07b110.002014-04-03b522.002014-04-01以code字段分组,并取每个分组日期最新的一...
如:table test
code num price date
a 1 10.00 2014-04-01
a 2 20.00 2014-04-02
a 3 30.00 2014-04-03
b 2 20.00 2014-04-07
b 1 10.00 2014-04-03
b 5 22.00 2014-04-01
以code 字段分组,并取每个分组日期最新的一条记录以及每个分组num字段的值的总和
结果:
code num price date SUM(num)
a 3 30.00 2014-04-03 6
b 2 20.00 2014-04-07 8
--用外链接把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字段