You need to enable JavaScript to run this app. Oracle SQL查询实现按人员判断是否至少出席过1次的需求
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL查询实现按人员判断是否至少出席过1次的需求

Oracle SQL 实现方案

假设你的表名为 person_attendance,可根据场景选择以下两种实现方案:

  • 方案一:全量统计场景(性能更优)
    通过分组聚合直接计算所有人员的考勤标记,适合需要输出全量人员结果的场景:
SELECT
    PersonColumn,
    CASE
        WHEN MAX(CASE WHEN AttendedColumn = 'attended' THEN 1 ELSE 0 END) = 1
        THEN 1
        ELSE 0
    END AS attendance_flag
FROM person_attendance
GROUP BY PersonColumn
ORDER BY PersonColumn;
  • 方案二:灵活过滤场景
    如果需要先对人员做额外过滤再统计,用EXISTS子查询的方式资源消耗更低:
SELECT DISTINCT
    t1.PersonColumn,
    CASE
        WHEN EXISTS (
            SELECT 1
            FROM person_attendance t2
            WHERE t2.PersonColumn = t1.PersonColumn
            AND t2.AttendedColumn = 'attended'
        )
        THEN 1
        ELSE 0
    END AS attendance_flag
FROM person_attendance t1
ORDER BY PersonColumn;

两种方案输出结果均与预期要求一致,输出字段名可根据实际需求调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 20:54:02