我正在使用以下语法进行查询:
SELECT itemid, description, store, SUM(localcurrencyamount * exchangerate) AS 'US Currency Amount'
FROM item;
它正在重新调整 4 行中的 1 行,其中显示正确的第一行 itemid、描述和存储,但它将所有两列 localcurrencymount 和汇率乘法添加到一个字段中。所以我的结果应该是,在第 1 行 itemid 7156.4047 中,但我得到的值为 8426.7303;这是所有行(1 到 4)的新列“美国货币金额”的总值。
这种语法有什么问题导致所有数据被“集中”到一个字段而不是超过 4 个字段?当我运行时:
SELECT itemid, description, store FROM item;
它分别返回了 4 行中的所有信息,但是当我添加 SUM(localcurrencyamount * Exchangerate) AS '美国货币金额' 时,数据集中到第一行中。
感谢您的帮助!
最佳答案
评论中的人似乎认为您需要 GROUP BY,但听起来在您的情况下这是不正确的。 SUM() 的意思就是:它对行进行求和(相加)。你不想要这样。你想要:
SELECT itemid, description, store, (localcurrencyamount * exchangerate) AS 'US Currency Amount'
FROM item;
关于mysql - SQL 多行相乘得到一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20896310/