首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中查询最新的列并对其他列求和

在MySQL中查询最新的列并对其他列求和
EN

Stack Overflow用户
提问于 2011-07-04 22:43:01
回答 1查看 37关注 0票数 1

我正在尝试创建一个查询,其结果如下所示...

代码语言:javascript
复制
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求和,然后返回最新状态,如下所示。

代码语言:javascript
复制
id | id2 | profit | expense | status
1     1      22       25      Not Act
1     2      5        10      Active

到目前为止,我尝试的是丢失了一大块它应该拥有的数据,主要是当id为空时,但并不总是。

代码语言:javascript
复制
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;

任何帮助都是最好的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-04 22:50:21

代码语言:javascript
复制
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,
       id2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6572951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档