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