mysql 获取和值_mysql-获取具有分组SQL结果的最大和值的记录

我有一个表,其中包含三个字段,如下所示:

PK account value

-----------------------

1 40010101 130

1 40010101 500

1 40010569 590

2 40010569 300

2 40010101 200

我想为每个PK选择价值最高的记录,按PK和科目分组,因此我的结果应如下所示:

PK account value

-----------------------

1 40010101 630

2 40010569 300

我尝试了以下解决方案:

SELECT

pn.*

FROM

(select PK, account, sum(value) as value

from table

group by PK, account) pn

INNER JOIN

(select PK, MAX(value) AS maxvalue

from (select PK, account, sum(value) as value

from table

group by PK, account) pn

group by PK) maxsum

ON pn.PK= maxsum.PK

AND pn.value = maxsum.maxvalue

它有效,但是我想请您提供一个更快的解决方案.我可以匹配成千上万条记录.我不能使用存储过程.

使用SQL Server.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值