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

MySQL如何统计meetings表中员工最近10次会议的出席次数?

SQL错误排查及修复

报错根因

  • 你编写的SQL中,内层子查询仅返回了Date字段,生成的临时表a完全没有e_id字段,外层查询的统计逻辑、WHERE筛选条件都调用了不存在的e_id字段,因此触发MySQL 1054报错。
  • 原有逻辑存在偏差:你需要先查询出最近10次的会议日期,再匹配指定员工在这些日期的出勤记录,不能直接从仅包含日期的临时表中筛员工ID。

可直接使用的正确语句

SELECT COUNT(m.e_id) AS 'Present'
FROM (
    -- 先查询最近10次的会议日期
    SELECT DISTINCT Date 
    FROM meetings 
    ORDER BY Date DESC 
    LIMIT 10
) AS recent_meetings
-- 关联原表匹配指定员工的出勤记录
LEFT JOIN meetings m 
    ON recent_meetings.Date = m.Date 
    AND m.e_id = '".$sidw."'

逻辑说明

上面的SQL先拉取最近10次会议的日期列表,再和原会议出勤表做左关联,关联条件同时限定了日期匹配、指定员工ID匹配,最终统计得到的就是该员工在最近10次会议中的实际出席次数,符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:18:03