这个搜索语句应该怎么写

希偌 2005-09-29 05:07:19
一个考勤系统,每个人理论上只能每天电子刷卡两次,但实际上可能是多次

怎么查询的时候只取最早和最晚的时间而忽律其他的???如果只有一次就取一次,谢谢
...全文
127 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
YuLimin 2005-10-09
  • 打赏
  • 举报
回复
结贴了,也不给出解决方案共享一下,BS楼主的说:)
churchatp1 2005-09-30
  • 打赏
  • 举报
回复
select min(d),max(d),uid from table1 group by datepart(year,d)+datepart(month,d)+datepart(day,d)
Well 2005-09-30
  • 打赏
  • 举报
回复
不過也是強人
Well 2005-09-30
  • 打赏
  • 举报
回复
有沒有例子
最好給出表結構
yinguangbo 2005-09-29
  • 打赏
  • 举报
回复
select min(t) mi,max(t) as ma,uid,dt from table1 group by uid,dt
uid是刷卡用户id,dt是刷卡所在的天
这个语句可以按天和人统计每人每天的最早和最晚刷卡时间
YuLimin 2005-09-29
  • 打赏
  • 举报
回复
try

select min(systemdate),max(systemdate),systemdateyyyyMMdd from
(select systemdate,to_char(t.systemdate,'yyyy-MM-dd') systemdateyyyyMMdd from writeoff t) t group by systemdateyyyyMMdd
vivianfdlpw 2005-09-29
  • 打赏
  • 举报
回复
我的呢?
希偌 2005-09-29
  • 打赏
  • 举报
回复
我要的是每天的
select min(d),max(d),uid from table1 group by uid

这个只能得到所有的头尾
lizhaogui 2005-09-29
  • 打赏
  • 举报
回复
同意楼上的
klan 2005-09-29
  • 打赏
  • 举报
回复
select min(d),max(d),uid from table1 group by uid
vivianfdlpw 2005-09-29
  • 打赏
  • 举报
回复
select * from 表 t
where 时间字段=(select min(时间字段)
from 表
where 姓名=t.姓名
and datediff(day,时间字段,t.时间字段)=0)
or
时间字段=(select max(时间字段)
from 表
where 姓名=t.姓名
and datediff(day,时间字段,t.时间字段)=0)

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧