【问题标题】:SQL PIVOT group by 2 columnsSQL PIVOT 按 2 列分组
【发布时间】:2023-03-31 00:33:01
【问题描述】:

我有一个如下的考勤表,我想按时间和部门对它们进行分组,状态为 null 表示该员工缺勤:

知道如何生成如下所示的输出吗?

我当前的代码:

SELECT TIME,COUNT(SECTION) AS SECTION,COUNT(STATUS) AS COUNT 
FROM attendance_record
GROUP BY TIME,SECTION
ORDER BY TIME

【问题讨论】:

    标签: sql stored-procedures pivot-table


    【解决方案1】:

    如果我理解您的问题,请使用条件聚合:

    SELECT TIME, SECTION, COUNT(*) as TOTAL,
           COUNT(STATUS) AS IN, ( COUNT(*) - COUNT(STATUS) ) as ABSENT
    FROM attendance_record
    GROUP BY TIME, SECTION
    ORDER BY TIME
    

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 2012-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多