问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用sqlserver 怎样查询出 数据表里 某月上班连续打卡15天的人

发布网友 发布时间:2022-04-11 17:21

我来回答

3个回答

热心网友 时间:2022-04-11 18:51

以下以2013年11月为例
1、使用横向连接,以5天为例,简单但不易扩展
with data as ( select * from yourtable where date>='2013-11-01' and date<'2013-12-01')
select distinct name
from data t1 join data t2 on t1.name=t2.name and t1.date=t2.date+1
join data t3 on t2.name=t3.name and t2.date=t3.date+1
join data t4 on t3.name=t4.name and t3.date=t4.date+1
join data t5 on t4.name=t5.name and t4.date=t5.date+1
2、使用纵向分组统计
with t1(id,rq) as (
select distinct 人员, date from 表 where date>='2013-11-01' and date<'2013-12-01' ),
--t1求出指定月的人员编号及不同的打卡日期
t2 as (select s2.* from t1 s1 join t1 s2 on s1.id=s2.id and s1.rq=s2.rq-1),
--t2求出所有上一日也打过卡的日期
t3 as (select * from t1 except select * from t2),
--t3求出所有上一日未打过卡的日期
t as (
select id,rq,1 days from t3
union all
select t1.id,t1.rq,t.days+1 from t1 join t on t1.id=t.id and t1.rq=t.rq+1
)
--t4递归调用,每连续一日days+1,就是求每一打卡时间是连续的第几天
select id
from t
group by id
having max(days)>=5
order by id
以上就不删了,以下可以改短点吧
with t as (
select 人员 id, date rq, 1 days from 表 t1
where not exists(select * from 表 t2 where t2.date=t1.date-1)
union all
select t1.id,t1.rq,t.days+1 from 表 t1 join t on t1.id=t.id and t1.rq=t.rq+1

)
select id
from t
group by id
having max(days)>=5
order by id

热心网友 时间:2022-04-11 20:09

这个功能数据库用SQL语句是实现不了的,建议把每个月的上班情况读出来,用编程语言通过编程判断。你的需求是属于业务逻辑功能,数据库实现不了这么复杂的功能。

热心网友 时间:2022-04-11 21:43

假日算不算追问额,这个不是重点吧,那就算连续5天的也可以~

追答我觉得应该用假日表和考勤表关联查询,除非你公司没休假。。。

用sqlserver 怎样查询出 数据表里 某月上班连续打卡15天的人

1、使用横向连接,以5天为例,简单但不易扩展 with data as ( select * from yourtable where date&gt;='2013-11-01' and date&lt;'2013-12-01')select distinct name from data t1 join data t2 on t1.name=t2.name and t1.date=t2.date+1 join data t3 on t2.name=t3.name and t2....

...行转列,如图所示是每个人每天的考勤打卡数据,怎样可以把每个人的刷卡...

如果是sqlserver你需要先建立一个函数像这样 CREATE FUNCTION [dbo].[JoinString](@time varchar(100),@name varchar(100))RETURNS varchar(2000)ASBEGINDECLARE @tmp varchar(1000)set @tmp=''SELECT @tmp=@tmp+','+sj from (select 人员姓名,CONVERT(varchar(100), 刷卡日期时间, 23) as rq,...

用SQLserver获取考勤打卡缺失的记录

select * from 打卡记录 where 最早打卡时间 is null or 最晚打卡时间 is null

做考勤表,求大神帮实现从原始数据中提取首次打卡和末次打卡时间

我这边有另外的方法,将excel表导入到sqlserver数据库,本来excel里面有3个栏位。可先用=B2&amp;" "&amp;C2符号将第二和第三栏位合并,若合并不了,可先设置两个栏位都为时间或者都为文本。因为sqlserver里面日期格式为2019-05-25 19:00:00。上面操作完成后导入sqlserver,用sql语法检索出你需要的比如打卡...

SQLserver数据库中应用什么样的数据最合适呢?

如果你只是上班打卡,用SQL server就可以了; 如果你要储存会话信息,用户配置信息,购物车数据,建议使用NoSQL数据库; 不过90%的企业或个人,首选数据库都是MySQL数据库。 为什么这么说? 因为,它集 低成本、高可用、可靠性强、易用性强、体积小、速度快开放源码 等特性于一身,所以在金融、财务、网站、 数据处理 等...

如何查询中控指纹考勤机的打卡情况

一,考勤后在界面恢复成初始状态之前按"MENU"键,可看到自己的打卡记录.(下班后或者上班前打卡后你可以试一下).二,如果在考勤机上查询别人的打卡记录则有两个前提:1,管理员权限 2,知道考勤号码 具体操作如下:"MENU"--&gt;管理员确认--&gt;"用户管理"--&gt;"查看考勤用户"--&gt;输入考勤号码--&gt;完成 三,考勤...

中控打卡机怎么才可以把员工所有的考勤调出来

3、连接成功后,点“从设备下载记录数据”,这时考勤机里的数据就会通过数据线上传到软件中,同时有下载多少条记录的提示,这时,你点“出勤记录”就可以看见你刚才下载的所有人员记录数据。一,考勤后在界面恢复成初始状态之前按"MENU"键,可看到自己的打卡记录.(下班后或者上班前打卡后你可以试一下).二,...

如何在中控软件上查指纹考勤机的打卡记录?

一,考勤后在界面恢复成初始状态之前按"menu"键,可看到自己的打卡记录.(下班后或者上班前打卡后你可以试一下).二,如果在考勤机上查询别人的打卡记录则有两个前提:1,管理员权限 2,知道考勤号码 具体操作如下:"menu"--&gt;管理员确认--&gt;"用户管理"--&gt;"查看考勤用户"--&gt;输入考勤号码--&gt;完成 三,考勤...

怎样从指纹考勤机里将考勤打印出来

1、电脑需安装“考勤管理系统标准版”,插入U盘,打开“考勤管理系统标准版。2、打开数据-U盘闪管理,按”确认。3、在弹出的窗口中,选择“9位码(定制,必需先导入U盘员工数据)。4、点击上方“导入记录数据至电脑”,再点击右侧“从U盘导入记录。5、在弹出的对话框中,按“确定”后,系统开始导入...

OA系统如何使用考勤机数据

专业ZK3考勤管理系统,通常从OA中同步相关数据(部门架构,人事档案,请假单,加班单,签卡单,调动单,调薪单等),避免两个系统都要做.

sqlserver导出数据 sql server数据库导出 sql server修改表数据 c#连接sqlserver数据库 sql server删除表数据 sqlserver导出sql文件 sqlserver数据库 sql server添加数据 sqlserver删除数据
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
同个地方的移动卡要怎么开省网,有没有可以直接发信息就可以的。 有人知道太仓免费发信息的网站有哪些吗? 我想在网上发一个信息,寻找合伙的人,在哪里可以发免费的呀!_百度知 ... 除了七七商网还有其他网站可以免费发布信息的吗? 发吧信息网是不是知名的电子商务网站? 2023上海九院最新医美整形价格表整理大全 为什么说孙晋芳是最佳二传手?!!! 孙晋芳个人评价 急,在线等专家。。。酷我k歌麦克风没有声音怎么办? 女子排球孙晋芳的简介 关于sqlserver 的一个查询, 解决再加50分 sql语句执行过程中会解析成二进制位被计算机识别吗?在哪一个阶段被解析的? sql语句执行原理 怎样sql server 2008中数据库备份压缩 关于ldf日志文件大小如何减少 SQL Server 2000 中数据库文件如何压缩啊? sql语句查询较慢时,应该怎么样分析? ACCESS中,有没有SQL语句查询获得表名和字段名 sql sever 查找数据里都有那些符号 如何在sql数据库中查找触发器的代码 求一个SQL触发器代码 SQL中如何查看触发器的原代码? SQL 图书馆系统数据库触发器代码 SQL的触发器源代码 谢谢了 read by other session与逻辑读高的SQL有关系吗? 如何减少逻辑读 sql server 如何优化 物理读的sql sql为什么没有物理读和一致读 求一ASP 的SQL 储存过程分页代码(存储代码跟调用代码) 关于sql server 2005备份数据库的问题 如何查找sqlserver的sa密码 不知道我的windows7旗舰版32位操作系统是否与SQLserver2005兼容? 你好,我在sql2005安装连接后,(win7 64位操作系统环境)数据库引擎下面没东西,怎么解决? c++获取星期几 java中如何获取日期时间中的星期几? java怎样通过日期获取星期几? 怎样获取一年所有的星期六星期天 有哪种日历星期几上面含名称代码 易语言如何获得今天星期几? 给星期一到星期五各取一个名字 求MySQL数据库分页存储过程以及winform前台调用例子 求Mysql数据库的翻页存储过程例子 SQL2012此数据库没有有效所有者,因此无法安装数据库关系图支持对象。 sqlserver2005,打开数据库关系图时,提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。 SQL2005数据库的所有者可以更改的吗? 我主要是那里面的关系库数据图没办法用。 创建数据库关系,此数据库缺少一个或多个使用数据库关系图所需要的支持对象, VS2008和SQL2008连接时有两种身份登录,我想以SQL SERVER身份登录,可是登录名和密码应该写什么呀? 怎么把数据库所有者设置为有效登录名 SQL server 2012中给数据库创建数据库关系图时出现这样的错误,该如何解决 无法安装SQL数据库