为什么MySQL中的SUM函数会删除几列数据

时间:2012-04-18 04:29:04

标签: mysql

我正在尝试创建一个模拟数据库,显示三个独立游戏角色的设备数据。当我运行以下SQL时,我能够提取完整的表

SELECT customerID, characters.characterID, characterName, headName, chestName, legsName, armsName
FROM characters
JOIN character_equipmentv ON characters.characterID = character_equipment.characterID
JOIN gear_head ON character_equipment.headID = gear_head.headID
JOIN gear_chest ON character_equipment.chestID = gear_chest.chestID
JOIN gear_legs ON character_equipment.legsID = gear_legs.legsID
JOIN gear_arms ON character_equipment.armsID = gear_arms.armsID
ORDER BY characterID  

然而,当我添加SUM函数来获取角色的齿轮核心时:

SUM(gear_head.gearScore + gear_chest.gearScore + gear_legs.gearScore + gear_arms.gearScore) AS gearScore

在我的SELECT语句结束时,它只显示第一个带有每个字符的组合齿轮组的条目!我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

查看SQL Grouping

好的:SUM是一个聚合函数,需要GROUP BY子句才能根据另一列产生有意义的结果。

答案 1 :(得分:0)

SUM是一个聚合函数,这意味着需要多行并合并它们。

您的SQL会告诉您所有characterID的所有齿轮分数的总和

如果您希望给定字符ID的总和添加GROUP BY characterID到查询的末尾。