我在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