从表中获取唯一记录 + 总和(如果记录不独特)


Get unique records from a table + sum if the record is not distinct

我在mysql中有一个表格,如下所示:

表名 : Emp

Emp Name | Time 
_______________
ABC      | 1
ABC      | 2
ABC      | 3
PQS      | 4
XYZ      | 5

我想要如下输出

Emp Name | Time 
_______________
ABC      | 6
PQS      | 4
XYZ      | 5

如您所见,仅返回唯一的 Emp 名称,并为 Emp 名称的每个实例添加时间。

这是一个基本的聚合SUM()Emp Name分组:

SELECT 
  EmpName,
  SUM(Time) AS Time
FROM Emp
GROUP BY EmpName
ORDER BY EmpName

查看有关聚合函数和GROUP BY子句使用的 MySQL 文档。

请注意,如果您的列名实际上与空格Emp Name,则需要用反引号将其引号括起来,如下所示:

SELECT 
  `Emp Name`,
  SUM(Time) AS Time
FROM Emp
GROUP BY `Emp Name`
ORDER BY `Emp Name`

这可能会有所帮助:

SELECT
   EmpName,
   SUM(Time) AS Total
FROM
  table1
GROUP BY
   EmpName
相关文章: