-1

早安伙计们,

我有以下表格:

 operator(ope_id, ope_name)
 ope_shift(ope_id, shift_id, shift_date) 
 shift(shift_id, shift_start, shift_end)

这是数据的更好视图 http://latinunit.net/emp_shift.txt

这是表 http://img256.imageshack.us/img256/4013/opeshift.jpg的选择语句的屏幕截图

我正在使用此代码

SELECT OPE_ID, COUNT(OPE_ID) AS Total_shifts
from operator_shift
group by ope_id;

查看每个操作员当前的总班次并且它可以工作,但是如果还有 500 多行,它也会将它们全部计算在内,问题是,任何人都有更好的方法让我的数据库工作,或者我如何告诉系统那些行是整整一个月,我记得我朋友说过计数然后除以 30 但我不确定,如果这个月没有完成怎么办?并且您想显示迄今为止班次最高的雇员

4

1 回答 1

0

您需要添加一个 where 子句:

where shift_date in ('2010-04-01', '2010-04-30')

或交替

where (shift_date >= '2010-04-01' AND shift_date < '2010-05-01')

您可能需要修改日期格式以匹配您的特定实现。

于 2010-04-26T11:41:08.707 回答