求一个sql 语句得出所有人在某一天的最早上班时间和最晚下班时间测试数据:字段action是指开电脑的系统记录的登录系统时间一张数据库表:ID Name Logtime action1 张三 2011-08-24 08:00 登录2 张三

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 21:53:51
求一个sql语句得出所有人在某一天的最早上班时间和最晚下班时间测试数据:字段action是指开电脑的系统记录的登录系统时间一张数据库表:IDNameLogtimeaction1张三2011-08-24

求一个sql 语句得出所有人在某一天的最早上班时间和最晚下班时间测试数据:字段action是指开电脑的系统记录的登录系统时间一张数据库表:ID Name Logtime action1 张三 2011-08-24 08:00 登录2 张三
求一个sql 语句得出所有人在某一天的最早上班时间和最晚下班时间
测试数据:
字段action是指开电脑的系统记录的登录系统时间
一张数据库表:
ID Name Logtime action
1 张三 2011-08-24 08:00 登录
2 张三 2011-08-24 08:31 登录
3 张三 2011-08-24 09:20 离开
4 张三 2011-08-24 09:29 登录
5 张三 2011-08-24 13:50 离开
6 张三 2011-08-24 14:20 登录
7 张三 2011-08-24 15:20 登录
8 张三 2011-08-24 16:30 离开
9 张三 2011-08-24 08:00 登录
10 陶明 2011-08-24 07:31 登录
11 陶明 2011-08-24 08:20 离开
12 陶明 2011-08-24 09:50 登录
13 陶明 2011-08-24 15:50 离开
14 陶明 2011-08-24 16:10 离开
15 陶明 2011-08-24 16:42 离开
最早上班时间必须是action=登录 的最早Logtime(loginTime),最晚下班时间必须是action=离开 的最晚Logtime(logoutTime)
最后想得出的结果是:
Logtime name loginTime logoutTime
日期 姓名 最早上班时间 最晚下班时间
请问具体的sql语句怎么写?

求一个sql 语句得出所有人在某一天的最早上班时间和最晚下班时间测试数据:字段action是指开电脑的系统记录的登录系统时间一张数据库表:ID Name Logtime action1 张三 2011-08-24 08:00 登录2 张三
use Tempdb
go
--> -->

if not object_id(N'Tempdb..#Tab') is null
drop table #Tab
Go
Create table #Tab([ID] int,[Name] nvarchar(2),[Logtime] Datetime,[action] nvarchar(2))
Insert #Tab
select 1,N'张三','2011-08-24 08:00',N'登录' union all
select 2,N'张三','2011-08-24 08:31',N'登录' union all
select 3,N'张三','2011-08-24 09:20',N'离开' union all
select 4,N'张三','2011-08-24 09:29',N'登录' union all
select 5,N'张三','2011-08-24 13:50',N'离开' union all
select 6,N'张三','2011-08-24 14:20',N'登录' union all
select 7,N'张三','2011-08-24 15:20',N'登录' union all
select 8,N'张三','2011-08-24 16:30',N'离开' union all
select 9,N'张三','2011-08-24 08:00',N'登录' union all
select 10,N'陶明','2011-08-24 07:31',N'登录' union all
select 11,N'陶明','2011-08-24 08:20',N'离开' union all
select 12,N'陶明','2011-08-24 09:50',N'登录' union all
select 13,N'陶明','2011-08-24 15:50',N'离开' union all
select 14,N'陶明','2011-08-24 16:10',N'离开' union all
select 15,N'陶明','2011-08-24 16:42',N'离开'
Go
Select
CONVERT(VARCHAR(8),[Logtime],112) AS 日期,
[Name] AS 姓名,
min(CASE WHEN [action]=N'登录' THEN convert(varchar(8),[Logtime],8) END) AS 最早上班时间,
max(CASE WHEN [action]=N'离开' THEN convert(varchar(8),[Logtime],8) END) AS 最晚下班时间
from #Tab
WHERE CONVERT(VARCHAR(8),[Logtime],112)='20110824'
GROUP BY CONVERT(VARCHAR(8),[Logtime],112),[Name]
/*
日期姓名最早上班时间最晚下班时间
20110824陶明07:31:0016:42:00
20110824张三08:00:0016:30:00
*/

求一个sql 语句得出所有人在某一天的最早上班时间和最晚下班时间测试数据:字段action是指开电脑的系统记录的登录系统时间一张数据库表:ID Name Logtime action1 张三 2011-08-24 08:00 登录2 张三 怎么用SQL语句求出这一列某几个数的和等于某一个数 求5的阶乘使用T-SQL编程:1、在查询分析器中使用用SQL语句,计算5!(5的阶乘) SQL语言的语句中最核心的语句是有没有人知道啊 用sql语句编写一条这样的语句,在学生表中查询出身高最矮的3个同学的信息 用SQL语句查询借阅图书的总数超过5本的读者号及其借阅图书数量.然后将该SQL语句粘贴在SQL文件中 1 设计一个SQL语句,显示学生表中年龄最大的学生的姓名、性别和出生日期.2 设计一个SQL语句,显示各门课程考试最高分的学号、课程编号和考试成绩就差这两个题了,求指导 sql 语句中commit的作用 用T-SQL语句定义一个函数求圆的面积,通过调用该函数求得半径为r的圆的面积 怎么用Sql语句获取一个数据库中的所有表的名字 SQL使用while 语句求1到100之间的累加和并输出 DROP-SQL语句属于一种什么功能的语句 DROP-SQL语句属于一种什么功能的语句 清空某表的全部数据的SQL语句是不是这样写?SQL语句:truncate table phpcms_ads_stat 在SQL语句的定义我想问下,红框中的./> 在SELECT-SQL语句的ORDER BY子句中,DESC表示按什么输出 在SQL语句中用于将最终查询结果排序的短语是——. 在access2010中写行求和的sql语句英语 总分85 77 65