java - 通过动态传递日期获取总工作日日期

标签 java mysql database date jdbc

这是我的MySQL数据库表结构,出勤日期数据类型是日期:

attendancedate-------admissionnumber------------attendance
2013-10-03-----------LSTM-0008/2013-2014--------present
2013-10-09-----------LSTM-0008/2013-2014--------present
2013-11-02-----------LSTM-0008/2013-2014--------absent

我想像这样消失

monthname---------totalworkingdays---------present----absent
october-------------- 2--------------------2----------0
November--------------1--------------------0-----------1

所以我正在编写以下 MySQL 查询:

select monthname(attendencedate) as monthname,
         (select distinct count(*) 
            from lstms_attendence 
           where attendencedate>='2013-10-03'
             and attendencedate<='2013-10-09' 
             and addmissionno='LSTM-0008/2013-2014')as totalworkingdays,
        sum(CASE WHEN attendence = 'present' THEN 1 ELSE 0 END) as present,
        SUM(CASE WHEN attendence = 'absent' THEN 1 ELSE 0 END) AS absent 
   FROM lstms_attendence 
  WHERE addmissionno='LSTM-0008/2013-2014' GROUP BY monthname(attendencedate);

但是查询显示如下:

monthname---------totalworkingdays---------present----absent
November-----------3-----------------------0------------2
October------------3-----------------------2------------1

请给我确切的查询,这里传递的是硬编码的日期,但日期是通过 java 动态传递到该查询的。

让我知道如何动态创建日期以及如何将值传递给该查询。

最佳答案

试试这个:

SELECT
    MONTHNAME(attendencedate) as the_month,
    COUNT(*) as working_days,
    SUM(IF(attendance='present',1,0)) as is_present,
    SUM(IF(attendance='absent',1,0)) as is_absent
FROM
    lstms_attendence
WHERE
    addmissionno='LSTM-0008/2013-2014'
GROUP BY
    the_month

关于java - 通过动态传递日期获取总工作日日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000992/

相关文章:

c# - Winapp (c#) 调用 java 应用程序 -> 设置进度条

php - 类似对话的消息系统

PHP Mysql查询多项

mysql - 从用户 ID 不在(另一个表)的表中选择 * 作为 ALLIDS,同时还计算它们在另一个表中出现的次数

java - 如何使用google map3在struts2中绘制折线

java - MySQL 的 Jboss 数据源配置 - MysqlXADataSource 元素

java - Apache commons 数学优化在每次迭代中获得最佳解决方案

mysql - 使用awk在mysql数据库中插入多个用户

php - {"error":true ,"error_msg" :"Unknown error occurred in registration!"} during execution. .!

mysql - IN 和 NOT IN 子句不适用