Sum duplicate row values

2019-02-07 09:46发布

I'm trying to sum the values of rows two of which have duplicate values, the table I have is below:

Table name (Customers)

value   years   total
1           30    30
3           10    10
4           15    15
4           25    25

I would ideally like to finally have:

value  years   total
1      30      30
3      10      10
4      40      40

I've tried using SELECT DISTINCT and GROUP BY to get rid of the duplicate row, also the join in the code below isn't necessary. Regardless both commands come to no avail. Here's my code too:

SELECT DISTINCT 
  value,
  years,
  SUM(customer.years) AS total 
FROM customer 
INNER JOIN language 
  ON customer.expert=language.l_id 
GROUP BY 
  expert, 
  years;

But that produces a copy of the first table, any input welcome. Thanks!!!

2条回答
成全新的幸福
2楼-- · 2019-02-07 10:19
SELECT
   value,
   SUM(years) AS years,
   SUM(total) AS total
FROM customers
GROUP BY value;

You want the sum of the years and the sum of the total, per — grouped by — value.

查看更多
倾城 Initia
3楼-- · 2019-02-07 10:19
SELECT 
  value,
  years,
  SUM(customer.years) AS total FROM (SELECT DISTINCT 
  value,
  years,
  customer.years AS total 
FROM customer 
INNER JOIN language 
  ON customer.expert=language.l_id ) as TABLECUS
GROUP BY 
  expert, 
  years;
查看更多
登录 后发表回答