+ -
当前位置:首页 → 问答吧 → 数据库查询问题.在线等

数据库查询问题.在线等

时间:2011-12-03

来源:互联网

数据表checkwork
userid startdate enddate remark
1 2011-11-01 2011-11-03 请假
1 2011-11-25 2011-11-26 因公外出
2 2011-11-04 2011-11-06 节假日

我现在需要查出11月份,userid为1的人的,“请假”的天数并显示出来,怎么实现啊??sql语句怎么写??...

作者: liangphp   发布时间: 2011-12-03

SELECT COUNT(`remark`) AS 'Total' FROM `checkwork` WHERE `Userid`=1 GROUP BY `remark`;

作者: PhpNewnew   发布时间: 2011-12-03

select count(*) from checkwork where datediff(day,'2011-11-01',startdate)>=0 and datediff(day,enddate,'2011-11-30')>=0 and userid=1 and remark='请假'

作者: zhangbin1988   发布时间: 2011-12-03

引用 1 楼 phpnewnew 的回复:
SELECT COUNT(`remark`) AS 'Total' FROM `checkwork` WHERE `Userid`=1 GROUP BY `remark`;

啊啊,前辈我描述错了
我是想要把11月中的某一天作为查询条件,startdate为开始日期,enddate为结束日期
我想得到是如下这样的效果,这应该怎么写啊??我已经通过循环得到了每天的日期,主要是如何把它作为查询条件放到sql语句里啊????
用户id 1
2011-11-01 请假
2011-11-02 请假
2011-11-03 请假
2011-11-04 
2011-11-05
2011-11-06
2011-11-07
....
2011-11-24
2011-11-25 因公外出
2011-11-26 因公外出
2011-11-27


作者: liangphp   发布时间: 2011-12-03

上面2楼那条SQL应该可以了吧? 日期直接比较就行了,当然有必要的话可以用MYSQL 自带的日期函数来取得具体的时间进行比较

作者: PhpNewnew   发布时间: 2011-12-03

不过日期比较的话 字段不能是 字符型的

作者: PhpNewnew   发布时间: 2011-12-03

引用 5 楼 phpnewnew 的回复:
不过日期比较的话 字段不能是 字符型的

2楼那个不行啊,我用的是access数据库啊..
我每次循环只能得到一个日期
我现在就是搞不明白,我应该怎么用这一个日期和数据库里面的进行比较,如果符合的话(即在startdate和enddate之间)然后才显示remark里的内容啊...

作者: liangphp   发布时间: 2011-12-03

引用 5 楼 phpnewnew 的回复:
不过日期比较的话 字段不能是 字符型的

2楼那个不行啊,我用的是access数据库啊..
我每次循环只能得到一个日期
我现在就是搞不明白,我应该怎么用这一个日期和数据库里面的进行比较,如果符合的话(即在startdate和enddate之间)然后才显示remark里的内容啊...

作者: liangphp   发布时间: 2011-12-03

相关阅读 更多