Как суммировать несколько строк в sql - PullRequest
1 голос
/ 07 марта 2012

У меня есть несколько строк данных, все с одним и тем же идентификатором компании.

Существует ли способ суммирования всех сумм, чтобы дать мне одну строку данных на идентификатор компании с помощью SQL Server Management Studio 2005?

Например, у меня в настоящее время есть данные ниже ......

Company_Name   Company_ID   Amount
Company 6         10024   120
Company 6         10024   569
Company 6         10024    53
Company 6         10024   100
Company 6         10024   564
Company 7         10638  9500
Company 7         10638   105
Company 7         10638   624

То, что я хотел бы попробовать, это .......

Company_ Name   Company_ID     Amount 
Company 6        10024         1406
Company 7        10638        10229

Есть ли способ сделать это?

Любой совет, указывающий мне правильный путь, был бы великолепен.

Спасибо

Ответы [ 7 ]

7 голосов
/ 07 марта 2012
SELECT Company_Name, Company_ID, SUM(Amount) 
FROM TableName GROUP BY Company_Name, Company_ID
3 голосов
/ 07 марта 2012

Попробуйте это;

SELECT Company_Name, Company_ID, SUM(Amount) AS Amount
FROM Companies
GROUP BY Company_Name, Company_ID;

Демо здесь .

3 голосов
/ 07 марта 2012
SELECT Company_Name, Company_ID, sum(Amount)
FROM your table
GROUP BY Company_Name, Company_ID
2 голосов
/ 07 марта 2012
SELECT Company_Name, Company_ID, sum(Amount)
FROM table
group by Company_Name, Company_ID
1 голос
/ 07 марта 2012
WITH T ( Company_Name, Company_ID, Amount )
     AS
     (
      SELECT 'Company 6', '10024', 120 UNION ALL
      SELECT 'Company 6', '10024', 569 UNION ALL
      SELECT 'Company 6', '10024', 53 UNION ALL
      SELECT 'Company 6', '10024', 100 UNION ALL
      SELECT 'Company 6', '10024', 564 UNION ALL
      SELECT 'Company 7', '10638', 9500 UNION ALL
      SELECT 'Company 7', '10638', 105 UNION ALL
      SELECT 'Company 7', '10638', 624 
     )
SELECT DISTINCT Company_Name, Company_ID, 
       SUM(Amount) OVER (PARTITION BY Company_ID) AS total_amount
  FROM T;
1 голос
/ 07 марта 2012

Вам необходимо использовать функции GROUP BY и SUM.

SELECT Company_Name, Company_ID, SUM(Amount) AS TOTAL_AMOUNT
FROM myTable
GROUP BY Company_Name, Company_ID
0 голосов
/ 17 апреля 2019

работал для меня:

    select Company_Name   , Company_ID   ,sum(Amount) as 'Amount' from Company group by 
Company_Name,Company_ID   ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...