gpt4 book ai didi

sql-server - 最大值之和(TOP x)

转载 作者:行者123 更新时间:2023-12-03 01:49:34 26 4
gpt4 key购买 nike

假设我有一个如下表:

PK Code Value
1 A 200
2 A 300
3 A 25
4 A 75
5 A 50
6 A 15
7 A 300
8 A 75

如何获取 code=A 的前 4 个最高值的值(即只需要 300 + 300 + 200 + 75 的总和)

谢谢

最佳答案

您可以使用派生表或通用表表达式来获取前 4 个,然后对其进行SUM

SELECT SUM(Value) As Top4Sum
FROM
(
SELECT TOP (4) Value
FROM YourTable
WHERE Code = 'A'
ORDER BY Value DESC
) T

如果您想要每个 CodeTOP 4SUM,您可以这样做

;WITH CTE
AS (SELECT *,
ROW_NUMBER() OVER (PARTITION BY Code ORDER BY Value DESC) RN
FROM YourTable)
SELECT Code,
SUM(Value)
FROM CTE
WHERE RN <= 4
GROUP BY Code

关于sql-server - 最大值之和(TOP x),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5286856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com