我有一个可以追溯几年的志愿工作者会议的数据库。每个条目除其他外,还包括志愿者的姓名,课程日期和当天的工作时间。 (是的,志愿者仅是用名字来标识的,没有名字匹配的保护。不幸的是,我没有设置这个名字。)我想获得一个列出每个日历年度最多出现一次的所有志愿者的列表。 (又名“偶然的”志愿者。)我将如何编写此查询?

最佳答案

select * from USERS where id in (
select u.id from
(
  select
    u.id, count(*)
  from
    USERS u
  where
    YEAR(date) = YEAR(CURDATE())
  group by
    name
  Having
    Count(name) <= 1
))


我无法测试,但是我想这就是您想要的。

关于mysql - MySQL-如何列出每个日历年工作不超过一次的所有志愿者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43200498/

10-12 04:09