我有一张桌子(出勤),用于存储员工的出勤数据。每天,管理员登录到他的系统,选择日期(在该日期),并将该员工标记为该日期的在场或缺席。这些记录存储在考勤表中。
我想检索当前月份EmpId
的特定present / absent
的所有记录,其中出勤率标记为1.EmpId - numeric
2.date:date type
3.status(either present/absent)-varchar
。
考勤表的列名是:
EmpId
status="present"
EmpId
(例如1)的所有记录
status="absent"
__attribute__((section(".eeprom")))
(例如1)的所有记录
任何帮助都将不胜感激。
答案 0 :(得分:1)
您可以使用year() and month()函数获取当月的记录:
select * from attendance
where empid=... and year(date)=year(curdate()) and month(date)=month(curdate()) and status=...
您需要提供应用程序中的员工ID和状态。
答案 1 :(得分:1)
试试这个:
Select * from attendance
where date >= 'YOUR DATE' AND date <= 'YOUR DATE' AND status='Present OR Absent(Any)'
或者您可以使用:
SELECT * FROM attendance
WHERE Status='Present OR Absent(Any)' AND date BETWEEN value1 AND value2
答案 2 :(得分:0)
您必须从表中提取当前月份和日期并获得结果。
使用此查询检索输出。
单独取得现在的学生
$query_one = "SELECT EmpId FROM `attendance` WHERE EXTRACT(YEAR FROM date)='".date('Y')."' AND EXTRACT(MONTH FROM date)='".date('m')."' AND `status`='present'";
单独取消缺席学生
$query_two = "SELECT EmpId FROM `attendance` WHERE EXTRACT(YEAR FROM date)='".date('Y')."' AND EXTRACT(MONTH FROM date)='".date('m')."' AND `status`='absent'";
上述代码将检索与当前月份和年份相对应的所有记录。
答案 3 :(得分:0)
使用可以简单地使用它来实现所需的输出。
MONTH(DateColumn) = MONTH(GETDATE())
YEAR(DateColumn)= YEAR(GETDATE())
答案 4 :(得分:0)
我已经尝试过这个查询,它完美无缺:
select * from attendance
where emp_id=1 and year(date)=year(curdate()) and month(date)=month(curdate()) and status='present';