SQL分组依据和最大值及其他字段
我有一个表,其中包含:SQL分组依据和最大值及其他字段,sql,group-by,max,Sql,Group By,Max,我有一个表,其中包含: ITEMID COSTAMOUNTPOSTED QTY DATEPHYSICAL 10001 20 20 2014-10-01 10001 30 20 2014-10-20 10005 20 20 2014-10-01 10005 20 30 2014-10-15 我想选择项目的最后一个物理操作,我想得到的结果是: ITEMID COS
ITEMID COSTAMOUNTPOSTED QTY DATEPHYSICAL
10001 20 20 2014-10-01
10001 30 20 2014-10-20
10005 20 20 2014-10-01
10005 20 30 2014-10-15
我想选择项目的最后一个物理操作,我想得到的结果是:
ITEMID COSTAMOUNTPOSTED QTY DATEPHYSICAL
10001 30 20 2014-10-20
10005 20 30 2014-10-15
我运行的查询:
SELECT itemid,costamountposted,qty,datephysical
FROM A
where datephysical =(select max(datephysical)
FROM A
但我只会对物理日期最长的项目进行测试。有什么建议吗?您可以使用子查询
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT ITEMID , MAX(DATEPHYSICAL) max_date
FROM tableName
GROUP BY ITEMID
) b ON a.ITEMID = b.ITEMID AND a.DATEPHYSICAL = b.max_date