【问题标题】:how to select records which pertains to the current month如何选择与当前月份有关的记录
【发布时间】:2016-08-23 09:57:10
【问题描述】:

我有一个表(出勤),其中存储员工的出勤数据。每天,管理员登录到他的系统,选择日期(在该日期)并将员工标记为该日期的在场或缺席。这些记录存储在考勤表中。

我想检索特定EmpId 在当前月份的所有记录,其中出勤标记为present / absent

考勤表的列名是:

1.EmpId - numeric
2.date:date type
3.status(either present/absent)-varchar
  • 我想编写一个查询来检索特定 EmpId(比如 1)的当前月份的所有记录,其中 status="present"
  • 我想编写另一个查询来检索特定 EmpId(比如 1)当前月份的所有记录,其中 status="absent"

任何帮助将不胜感激。

【问题讨论】:

  • 没有什么能阻止你。请分享您到目前为止尝试过的内容。

标签: php mysql


【解决方案1】:

您可以使用year() and month() 函数获取当前月份的记录:

select * from attendance
where empid=... and year(date)=year(curdate()) and month(date)=month(curdate()) and status=...

您需要在申请中提供员工 ID 和状态。

【讨论】:

  • 如果以上内容帮助您解决了问题,请将答案标记为已接受,向其他观众表明问题已关闭。
【解决方案2】:

试试这个:

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

【讨论】:

    【解决方案3】:

    您必须从表中提取当前月份和日期并获取结果。

    使用此查询检索输出。

    单独去接现在的学生

    $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'";    
    

    以上代码将检索当前月份和年份对应的所有记录。

    【讨论】:

      【解决方案4】:

      使用可以简单地使用这个来实现想要的输出。

      MONTH(DateColumn) = MONTH(GETDATE())
      YEAR(DateColumn)= YEAR(GETDATE())
      

      【讨论】:

      • 如果您有超过 1 年的出勤数据会怎样?
      【解决方案5】:

      我已经尝试过这个查询并且效果很好:

      select * from attendance
      where emp_id=1 and year(date)=year(curdate()) and month(date)=month(curdate()) and status='present';
      

      【讨论】:

      • “您的”解决方案与其他解决方案有何不同?当您的答案与之前提供给您的其他答案相同时,将其标记为已接受有点不公平。
      • @shadow ..我是stackoverflow的新手。解决方案与您提供的解决方案完全相同...我添加了答案,让您知道查询是我尝试过的它工作完美..我知道我不应该将其标记为已接受..今后将牢记这一点..再次感谢..
      猜你喜欢
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      相关资源
      最近更新 更多