zhongwei127day 2023-04-30 13:25 采纳率: 0%
浏览 13

查找共同参与的项目及人员

目前有一张表,专门用来保存报名信息,表中的字段有活动的唯一标识,报名人员唯一标识,参与时间等三个字段

img

现在想通过sql查询共同参与项目的报名人员,比如A11111项目和B22222项目两个都有“张三”,“李四”报名,那就要查询这两个项目的标识。
这个如何查效率较高,没有错误

  • 写回答

2条回答 默认 最新

  • Py小郑 新星创作者: python技术领域 2023-04-30 15:27
    关注

    可以使用SQL的多表查询和聚合函数来实现。假设活动唯一标识为activity_id,报名人员唯一标识为user_id,参与时间为join_time,则可以使用如下的SQL语句:

    SELECT user_id
    FROM table_name
    WHERE activity_id IN ('A11111', 'B22222')
    GROUP BY user_id
    HAVING COUNT(DISTINCT activity_id) = 2;
    

    上述SQL语句中,IN操作符可以用于指定需要查询的活动唯一标识。GROUP BYCOUNT用于计算每个报名人员在指定的活动中出现的次数,HAVING操作符用于筛选出在两个活动中都出现过的报名人员。这样就可以查询到在两个活动中都参与过的报名人员的唯一标识。使用索引和优化SQL语句可以进一步提高查询效率。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月30日