You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQL统计不同月份各认证类别完成员工数(多表查询)

修正后的SQL查询语句(统计每月不同类别认证的员工数量)

前提假设表结构

基于业务场景合理推断三张表核心字段如下:

  • iep_start_lp_request:employee_id(员工ID)、completed_date(认证完成时间)、post_id(关联认证项ID)、status(认证状态,需为completed表示完成)
  • iep_employee_list:id(员工主键ID)
  • iep_postmeta:post_id(关联认证项ID)、meta_key(标识类别字段,如certification_category)、meta_value(认证类别名称)

修正后的查询语句

SELECT
    DATE_FORMAT(r.completed_date, '%Y-%m') AS 统计月份,
    pm.meta_value AS 认证类别,
    COUNT(DISTINCT el.id) AS 完成员工数量
FROM
    iep_start_lp_request r
INNER JOIN
    iep_employee_list el ON r.employee_id = el.id
INNER JOIN
    iep_postmeta pm ON r.post_id = pm.post_id
WHERE
    r.status = 'completed'
    AND pm.meta_key = 'certification_category'
GROUP BY
    DATE_FORMAT(r.completed_date, '%Y-%m'),
    pm.meta_value
ORDER BY
    统计月份 DESC,
    认证类别;

关键修正点说明

  • 去重统计员工:使用COUNT(DISTINCT el.id)避免同一员工同一月份同一类别多次认证被重复计数
  • 正确关联表:通过employee_id关联员工基础表,post_id关联认证类别元数据表,确保数据关联逻辑准确
  • 日期格式化分组:用DATE_FORMAT将完成时间转换为YYYY-MM格式,实现按月维度统计
  • 过滤有效数据:增加status = 'completed'确保只统计已完成的认证,同时指定meta_key精准筛选出类别字段

内容的提问来源于stack exchange,提问作者Shahala Anjum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:40:56