gpt4 book ai didi

sql - 如何使用 SUM() 对结果数组求和?

转载 作者:太空宇宙 更新时间:2023-11-03 11:17:41 32 4
gpt4 key购买 nike

我目前将行加在一起的方法是这样的:

$totalxp = $row['Attackxp'] + $row['Defencexp'] + $row['Strengthxp'] + $row['Hitpointsxp'] + $row['Rangedxp'] + $row['Prayerxp'] + $row['Magicxp'] + $row['Cookingxp'] + $row['Woodcuttingxp'] + $row['Fletchingxp'] + $row['Fishingxp'] + $row['Firemakingxp'] + $row['Craftingxp'] + $row['Smithingxp'] + $row['Miningxp'] + $row['Herblorexp'] + $row['Agilityxp'] + $row['Thievingxp'] + $row['Slayerxp'] + $row['Farmingxp'] + $row['Runecraftxp'] + $row['Constructionxp'];

但后来我看到了 SUM() 并尝试了这个:

SELECT SUM(xp) FROM skills WHERE playerName='Undercover' 

它可以工作,但我需要 xp 的所有值,所以我尝试添加 %xp 但它不会工作。

我如何使用 Sum() 函数将所有行相加而不是使 PHP 紧张?

最佳答案

聚合函数(即:SUM、MIN、MAX、COUNT 等)不能跨列工作——它们基于分组(GROUP BY)处理特定列的值) 和过滤(JOIN 和/或 WHERE 子句)。

要跨列相加值,您需要像对普通数学方程式一样相加:

SELECT Attackxp + Defencexp + Strengthxp + Hitpointsxp + Rangedxp + Prayerxp + Magicxp + Cookingxp+ Woodcuttingxp + Fletchingxp + Fishingxp + Firemakingxp + Craftingxp + Smithingxp + Miningxp + Herblorexp + Agilityxp + Thievingxp + Slayerxp + Farmingxp + Runecraftxp + Constructionxp AS total_xp
FROM skills
WHERE playerName = 'Undercover'

如果您有多个记录与玩家名称相关联,那么您可以使用聚合函数:

SELECT SUM(Attackxp + Defencexp + Strengthxp + Hitpointsxp + Rangedxp + Prayerxp + Magicxp + Cookingxp+ Woodcuttingxp + Fletchingxp + Fishingxp + Firemakingxp + Craftingxp + Smithingxp + Miningxp + Herblorexp + Agilityxp + Thievingxp + Slayerxp + Farmingxp + Runecraftxp + Constructionxp) AS total_xp
FROM skills
WHERE playerName = 'Undercover'

关于sql - 如何使用 SUM() 对结果数组求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3930140/

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