我正在尝试创建一个查询,其结果如下所示...
id | id2 | profit | expense | status | date
1 1 10 20 Active 7-3-11
1 1 11 5 Not Act 7-4-11
1 2 5 10 Active 7-4-11我希望按Id对其进行分组,并对利润和费用列进行Id2求和,然后返回最新状态,如下所示。
id | id2 | profit | expense | status
1 1 22 25 Not Act
1 2 5 10 Active到目前为止,我尝试的是丢失了一大块它应该拥有的数据,主要是当id为空时,但并不总是。
SELECT * FROM
tbl
JOIN
(SELECT
id,
id2,
max(date) maxdate
FROM
tbl
GROUP BY
id,
id2) sub
ON tbl.id = sub.id AND
tbl.id2 = sub.id2 AND
tbl.date = sub.maxdate;任何帮助都是最好的!
发布于 2011-07-04 22:50:21
SELECT
id,
id2,
sum(profit) profit,
sum(expense) expense,
(select status from tbl t1 where t1.id=tbl.id and t1.id2=tbl.id2 order by date desc limit 1)
FROM
tbl
GROUP BY
id,
id2https://stackoverflow.com/questions/6572951
复制相似问题