稍微复杂的MySQL查询
雇员 e_id first last 1约翰·史密斯 2鲍勃·史密斯 亚历克斯·史密斯 4无名氏 5罗恩·多伊稍微复杂的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 --
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