稍微复杂的MySQL查询

稍微复杂的MySQL查询,mysql,Mysql,雇员 e_id first last 1约翰·史密斯 2鲍勃·史密斯 亚历克斯·史密斯 4无名氏 5罗恩·多伊 clockpunch e_id time for adjustment 1 0650 in early 3 0710 in late 4 0725 in early 1 1100 lunch --- 2 1150 in late 2 1400 lunch --- 4 1320 out --

雇员 e_id first last 1约翰·史密斯 2鲍勃·史密斯 亚历克斯·史密斯 4无名氏 5罗恩·多伊

clockpunch
e_id    time    for adjustment
1   0650    in  early
3   0710    in  late
4   0725    in  early
1   1100    lunch   ---
2   1150    in  late
2   1400    lunch   ---
4   1320    out ---
我需要一个单独的查询,列出所有员工的姓名,以及该用户提前多少次的计数,按提前次数降序排列。如何做到这一点?

这可能有效(未经测试)

select first,last,count(*) from employees e, clockpunch c 
where e.e_id = c.e_id and adjustment = 'early' 
group by first,last
order by count(*) desc
    select a.first,a.last,sum(case b.adjustment when 'early' then 1 else 0 end) as ct 
from employees a, clockpunch b where a.e_id=b.e_id
    group by a.first, a.last