用于计算国家/地区总营业额的SQL查询
有人能解释一下如何根据这个查询得到每个国家的总营业额吗用于计算国家/地区总营业额的SQL查询,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,有人能解释一下如何根据这个查询得到每个国家的总营业额吗 SELECT ZipCodes.Country AS country, (LineItem.price*LineItem.quantity) as turnover FROM LineItem INNER JOIN [Order] ON [Order].id = LineItem.order_id INNER JOIN Party ON Party.id = [Order].party_id INNER JOIN ZipCodes ON Z
SELECT ZipCodes.Country AS country, (LineItem.price*LineItem.quantity) as turnover
FROM LineItem
INNER JOIN [Order] ON [Order].id = LineItem.order_id
INNER JOIN Party ON Party.id = [Order].party_id
INNER JOIN ZipCodes ON ZipCodes.id = Party.party_zip_code_id
GROUP BY ZipCodes.Country
我得到:
Msg 8120,级别16,状态1,第1行列“LineItem.price”在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中
Msg 8120,级别16,状态1,第1行列“LineItem.quantity”在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中
只需将
总和
添加到查询中:
SELECT
ZipCodes.Country AS country,
sum(LineItem.price*LineItem.quantity) as turnover -- Add here the sum
FROM
LineItem
INNER JOIN [Order] ON [Order].id = LineItem.order_id
INNER JOIN Party ON Party.id = [Order].party_id
INNER JOIN ZipCodes ON ZipCodes.id = Party.party_zip_code_id
GROUP BY
ZipCodes.Country
只需将
总和
添加到查询中:
SELECT
ZipCodes.Country AS country,
sum(LineItem.price*LineItem.quantity) as turnover -- Add here the sum
FROM
LineItem
INNER JOIN [Order] ON [Order].id = LineItem.order_id
INNER JOIN Party ON Party.id = [Order].party_id
INNER JOIN ZipCodes ON ZipCodes.id = Party.party_zip_code_id
GROUP BY
ZipCodes.Country
您的意思是将SUM(LineItem.price*LineItem.quantity)作为turn覆盖在表达式中添加聚合函数(如@bummi所建议的),还是删除
分组方式
无注释。我是个笨蛋。选择列表中的thanx“add sum(turn-over)”您是指sum(LineItem.price*LineItem.quantity)作为turn-over在表达式中添加聚合函数(如@bummi所建议的),还是删除分组依据
无注释。我是个笨蛋。在选择列表中,我们都曾经经历过类似的事情。很高兴能帮上忙我们都经历过类似的事情。很乐意帮忙