【问题标题】:Sum duplicate row values对重复的行值求和
【发布时间】:2013-12-20 14:45:35
【问题描述】:

我正在尝试对其中两个具有重复值的行的值求和,我拥有的表格如下:

表名(客户)

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

我希望最终拥有:

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

我已经尝试使用SELECT DISTINCTGROUP BY 来删除重复的行,下面代码中的连接也不是必需的。无论如何,这两个命令都无济于事。这也是我的代码:

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

但这会产生第一个表的副本,欢迎任何输入。谢谢!!!

【问题讨论】:

  • 为什么SELECT value, SUM(years), SUM(total) FROM customers GROUP BY value 不起作用?

标签: sql sum duplicates row distinct


【解决方案1】:
SELECT
   value,
   SUM(years) AS years,
   SUM(total) AS total
FROM customers
GROUP 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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-03
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 2020-03-26
    • 2019-01-25
    • 1970-01-01
    相关资源
    最近更新 更多