gpt4 book ai didi

mysql - Sql 选择顶部查询

转载 作者:行者123 更新时间:2023-11-29 12:35:18 25 4
gpt4 key购买 nike

大家好,我有以下问题:

   SELECT TOP(1) CommitmentLog.CommitAmt
FROM leveldetails
INNER JOIN CommitmentLog
ON leveldetails.App_ID = CommitmentLog.app_id
AND leveldetails.Intro_ID = '999'
AND leveldetails.Side = 'right'
AND CommitmentLog.flag != '1'
AND CommitmentLog.CommitNo NOT IN (SELECT commit_no
FROM binary_bal
WHERE Intro_ID = '999'
AND Side = 'right'
AND llevel BETWEEN 1 AND 100000)

第一行 CommitAmt 值:1500
第二行 CommitAmt 值:500
如果我选择 CommitmentLog.CommitAmt 的前 1 个总和,则返回值为 2000 而不是 1500
如果我选择 CommitmentLog.CommitAmt 的前 2 个总和,则返回值 2000 是正确的

if i select top 1 then sum(CommitmentLog.CommitAmt) it should return 1500 and
if i select top 2 then sum(CommitmentLog.CommitAmt) it should return 1500 + 500 = 2000

最佳答案

您想对结果集中的前 N ​​个求和吗?试试这个

SELECT SUM(t1.CommitAmt) from (SELECT TOP(1) CommitmentLog.CommitAmt
FROM leveldetails
INNER JOIN CommitmentLog
ON leveldetails.App_ID = CommitmentLog.app_id
AND leveldetails.Intro_ID = '999'
AND leveldetails.Side = 'right'
AND CommitmentLog.flag != '1'
AND CommitmentLog.CommitNo NOT IN (SELECT commit_no
FROM binary_bal
WHERE Intro_ID = '999'
AND Side = 'right'
AND llevel BETWEEN 1 AND 100000)
) AS t1

关于mysql - Sql 选择顶部查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26880549/

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