Sum duplicate row values

若如初见. 提交于 2019-11-29 09:32:22

问题


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!!!


回答1:


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.




回答2:


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;


来源:https://stackoverflow.com/questions/20369868/sum-duplicate-row-values

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!