php - 按Name等字段对Mysql查询进行排序

标签 php mysql sorting group-by group-concat

我有一个关于 MySQL 的问题。我有一个包含以下字段的表:

  • worker 姓名
  • 日期
  • 工作时间

好的,如果我执行此查询:

SELECT WorkerName, Date, HoursWorked, SUM(HoursWorked) FROM myTable GROUP BY WorkerName

我的字段按工作人员姓名分组,但只有一行。我想在同一行中显示该 worker 的所有工作天数,在另一行中显示其他 worker 的所有工作天数。

在 PHP 中实际上有一个 While 可以显示所有工作的日期,但只显示排序的第一天的小时数。

最佳答案

您可以使用GROUP_CONCAT聚合函数:

SELECT
  WorkerName,
  GROUP_CONCAT(Date) AS dates_worked,
  SUM(HoursWorked)
FROM
  myTable
GROUP BY
  WorkerName

关于php - 按Name等字段对Mysql查询进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28858103/

相关文章:

javascript - 联系表格和 PHP

php - 用php向mysql插入不同的日期格式

mysql - 如何为 AWS RDS 实例设置数据库时区

mysql - #1054 - 未知列

c - 用 C 语言对数组进行冒泡排序

list - 在序言中对原子进行排序

php - 自定义 Laravel API 验证响应

php - 将数组中的表单值插入数据库

MYSQL 按不同行分组时对行的字段值求和

algorithm - 对于大数组,选择排序比插入快吗?