在 MySQL 中对列值进行分组和求和
在此场景中,您有一个包含两列“word”和“amount”的表,您的目标是计算每个不同单词的总金额。虽然您提供的查询通常适用于对值进行分组和求和,但语法中似乎存在一个小错误。
失败的尝试:
SELECT word, SUM(amount) FROM `Data` GROUP BY 'word'
问题在于单引号GROUP BY 子句中的“word”周围。 SQL 将单引号值解释为字符串,这可能会导致意外行为。在这种情况下,数据库将“'word'”解释为字符串,而不是列名。因此,查询无法正确对值进行分组和求和。
更正的查询:
SELECT word, SUM(amount) FROM Data GROUP BY word
通过删除单引号,您允许 SQL 将“word”识别为它代表的列名。这使得查询能够按单词列对行进行适当分组,并计算每个单词的总金额。更正后的查询将产生所需的结果:
+------+-------+ | word | amount | +------+-------+ | dog | 6 | | elephant | 2 | +------+-------+
始终记住仔细检查查询的语法,尤其是在使用保留关键字或标识符时。删除不必要的引号并确保正确的大小写有助于防止错误并确保结果准确。
以上是如何正确对 MySQL 中的列值进行分组和求和?的详细内容。更多信息请关注PHP中文网其他相关文章!