我对MySQL有疑问。我有一个具有以下字段的表:
工人名
日期
工作时间
好吧,如果我执行此查询:
SELECT WorkerName, Date, HoursWorked, SUM(HoursWorked) FROM myTable GROUP BY WorkerName
我有按工人名称BUT分组的字段,只有一行。我想在同一行中显示该工作人员在另一行中工作的所有工作日。
在PHP中实际上有一个While,它显示了所有工作日,但仅显示了第一天的小时数。
最佳答案
您可以使用GROUP_CONCAT聚合函数:
SELECT
WorkerName,
GROUP_CONCAT(Date) AS dates_worked,
SUM(HoursWorked)
FROM
myTable
GROUP BY
WorkerName