小问题

qq793465031 2013-04-24 11:52:28
如何查出当天人员出勤TB表里面 ,每个人最后一次刷卡时间的全部记录,(当天会刷很多次卡)
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨雪纷纷 2013-04-25
  • 打赏
  • 举报
回复
select 员工姓名,max(出勤时间) as '分数' from 员工表,出勤表 where 主外键关系 group by 员工姓名 上一个会错意了 不好意思
MrYangkang 2013-04-24
  • 打赏
  • 举报
回复
不知道是不是你要的 if exists(select * from sysobjects where name = 'wx') drop table wx go create table wx ( ID int primary key identity(1,1), names nvarchar(20), date datetime ) go insert into wx values('张三','2013-04-24') insert into wx values('张三','2013-04-26') insert into wx values('李四','2013-04-24') insert into wx values('李四','2013-05-24') go select names,max(date) from wx group by names
seusoftware 2013-04-24
  • 打赏
  • 举报
回复
with t as ( select *,row_number() over(partition by userName order by addDate desc) as num from Tb where addDate >= '2013-04-24' and adddate < '2013-04-25' ) select * from t where num = 1 上面也今天为例,用的CTE写的,子查询也可以。
qq793465031 2013-04-24
  • 打赏
  • 举报
回复
引用 2 楼 zhangyi2013 的回复:
可以order by 打卡时间字段 desc 选取 top(1)
这样只能选出一条记录 , 我需要的是 每个人 的信息 按照 最后一次时间来筛选
雨雪纷纷 2013-04-24
  • 打赏
  • 举报
回复
可以order by 打卡时间字段 desc 选取 top(1)
qq793465031 2013-04-24
  • 打赏
  • 举报
回复
也就是每个人刷卡时间最大的那条记录

34,575

社区成员

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

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