我正在使用以下语法进行查询:
SELECT itemid, description, store, SUM(localcurrencyamount * exchangerate) AS 'US Currency Amount'
FROM item;
它正在重新调整4行中的1行,它显示正确的第一行itemid,description和store,但它将所有两列都添加到localcurrencyamount并将乘法交换到一个字段中。所以我的结果应该是在行itemid 1,7156.4047中,但我的值为8426.7303;这是所有行(1到4)的新列美国货币金额的总值。
这种语法有什么问题导致所有数据被“集中”到一个字段而不是4个字段?我跑的时候:
SELECT itemid, description, store FROM item;
它分别从4行返回了所有信息,但是当我添加SUM(localcurrencyamount * exchangerate)时,AS'美国货币金额'就是将数据汇总到第一行时。
感谢您的帮助!
答案 0 :(得分:3)
评论中的人似乎认为你需要GROUP BY,但听起来你的情况并不正确。 SUM()意味着:它总结(累加)行。你不希望这样。你想要:
SELECT itemid, description, store, (localcurrencyamount * exchangerate) AS 'US Currency Amount'
FROM item;
答案 1 :(得分:0)
如果您想分别获取每条记录的结果,请不要使用SUM
。 SUM
是一个对一组记录起作用的聚合函数。只使用:
SELECT itemid, description, store, (localcurrencyamount * exchangerate) AS 'US Currency Amount'
FROM item;