具有内部联接、聚合和求和的SQL查询

具有内部联接、聚合和求和的SQL查询,sql,sql-server-2012,Sql,Sql Server 2012,我有一个疑问: SELECT Projects.proj_num_of_vehicles AS VehicQuantity , customers.cust_country AS Country , Projects.proj_contract_value AS MarketValue , Projects.proj_date AS Year FROM dbo.Projects INNER JOIN dbo.Manufacturers ON Projects.proj_

我有一个疑问:

SELECT Projects.proj_num_of_vehicles AS VehicQuantity
 , customers.cust_country AS Country
 , Projects.proj_contract_value AS MarketValue
 , Projects.proj_date AS Year

FROM
  dbo.Projects

  INNER JOIN dbo.Manufacturers
    ON Projects.proj_man_id = Manufacturers.man_id
  INNER JOIN dbo.customers
    ON Projects.proj_cust_id = customers.cust_id

ORDER BY
  year DESC
返回给我这些数据:

现在我需要总结每年每个国家的价值观。所以我应该每年只给每个国家一次。一些帮助将不胜感激

澄清
也就是说,参考上面德国的图片(2013年出现了5次),我需要一个显示单线车辆Q.tysum x 2013-德国国家-市场价值x 2013的结果。美国出现了两次,但两个年份不同,然后是两行。

你应该认真阅读SQL的基础知识,而不是依靠互联网上的人来解决你的问题

也就是说,要做您想做的事情,您需要使用GROUPBY子句。大概是这样的:

SELECT SUM(Projects.proj_num_of_vehicles) AS VehicQuantity
 , customers.cust_country AS Country
 , SUM(Projects.proj_contract_value) AS MarketValue
 , YEAR(Projects.proj_date) AS Year

FROM
  dbo.Projects

  INNER JOIN dbo.Manufacturers
    ON Projects.proj_man_id = Manufacturers.man_id
  INNER JOIN dbo.customers
    ON Projects.proj_cust_id = customers.cust_id
GROUP BY
   customers.cust_country, YEAR(Projects.proj_date)
ORDER BY
  year DESC

谢谢你的评论,你是对的,我需要研究和消化这些东西。然而,我不是一个程序员,我在自学,没有同事可以依靠。仍然不是借口,但进展缓慢。我测试了你的查询,仍然在给我不同的国家,而不是在同一年总结。我需要每年每个国家的总和。我已经编辑了我的帖子,以说明每年的分组情况。我在SELECT列表以及GROUP BY子句中的proj_date列周围添加了YEAR函数。