首页 > 解决方案 > 如何将 1 个表中的 2 个值加入 1 行?

问题描述

我有一张名为log_attendance

在此处输入图像描述

需要的输出:

在此处输入图像描述

谢谢你的帮助

标签: mysqlsql

解决方案


一种简单的方法是GROUP BY按列使用子句emp_id,然后使用聚合方法MAX()MIN()获得所需的结果。请注意,要映射到NULL值,您需要进行额外的检查,如下所示:

SELECT
    emp_id,
    MIN(tap_in) AS tap_in,
    IF(MIN(tap_in) = MAX(tap_in), NULL, MAX(tap_in)) AS tap_out
FROM
    log_attendance
GROUP BY
    emp_id

你也可以在这里查看:DB-Fiddle


推荐阅读