使用php从ms access数据库获取最大和最小时间

使用php从ms access数据库获取最大和最小时间,php,sql,ms-access,Php,Sql,Ms Access,我正在尝试使用Microsoft Access数据库中创建的现有数据库。该数据库有一个名为CHECKINOUT的表,用于存储每个用户按顺序进行指纹检查的时间数据- USERID CHECKTIME CHECKTYPE VERIFYCODE ======================================================= 3 10/03/2013 7:03:32 PM I

我正在尝试使用Microsoft Access数据库中创建的现有数据库。该数据库有一个名为
CHECKINOUT
的表,用于存储每个用户按顺序进行指纹检查的时间数据-

USERID         CHECKTIME        CHECKTYPE            VERIFYCODE
=======================================================
3         10/03/2013 7:03:32 PM   I             1   
3         10/03/2013 11:45:49 AM  I             1
3         10/03/2013 8:40:20 AM   I             1
3         11/03/2013 7:13:33 PM   I             1
3         11/03/2013 11:24:36 PM  I             1
3         11/03/2013 9:04:42 AM  I              1
4         10/03/2013 7:02:46 PM   I             1
4         10/03/2013 6:43:10 PM   I             1
4         10/03/2013 10:46:41 AM  I             1
4         10/03/2013 8:47:04 AM   I             1
4         11/03/2013 7:23:33 PM   I             1
4         11/03/2013 11:20:36 PM  I             1
4         11/03/2013 8:28:42 AM  I              1
现在,让我手动选择最短和最长时间

10 March UserID(3) Maximum Time: 10/03/2013 7:03:32 PM
10 March UserID(3) Minimum Time: 10/03/2013 8:40:20 AM
11 March UserID(3) Maximum Time: 11/03/2013 7:13:33 PM
11 March UserID(3) Minimum Time: 11/03/2013 9:04:42 AM


10 March UserID(4) Maximum Time: 10/03/2013 7:02:46 PM
10 March UserID(4) Minimum Time: 10/03/2013 8:47:04 AM
11 March UserID(4) Maximum Time: 11/03/2013 11:20:36 PM
11 March UserID(4) Minimum Time: 11/03/2013 8:28:42 AM
现在,我想使用php编写一个查询,从
CHECKTIME
列的
CHECKINOUT
表中选择单个(例如,其中UserID=3)的最小和最大时间。报告应该如下所示-

USERID      |   DAY        |    INTIME(MINIMUM TIME)     | OUTTIME(MAXIMUM TIME)
=================================================================================
   3        | 10/03/2013   |        8:40:20 AM           |     7:03:32 PM
   3        | 11/03/2013   |        9:04:42 AM           |     7:13:33 PM

如何从MS Access(.mdb)数据库使用PHP实现上述查询?我认为使用子查询是可能的。但是,我找不到任何查询浏览器,如HeidiSQL、MySQL查询浏览器、MySQL终端或Navicat for MS Access,我应该在哪里编写和测试我的查询。

我对Access了解不多,但一般查询应该是这样的:

SELECT
  date(checktime) Day,
  time(min(checktime)) MinTime,
  time(max(checktime)) MaxTime
FROM t
WHERE userid = 3
GROUP BY Day
我用MySQL创建了一个数据库,但将其转换为MsAccess应该非常简单。忽略奇怪的日期格式。。。SQLFiddle正在改变这一点,但是
Date()
Time()
应该只返回日期时间的适当部分,而不是将年份设置为1970年之类的内容。

看起来像anviz db;)
也许这会对某人有所帮助。
来自att2003.mdb v_记录请求的MS访问请求:

SELECT 
First(V_Record.Userid) AS [USER ID], 
First(V_Record.Name) AS Employer,
DateValue([CheckTime]) AS Date, Min(TimeValue([CheckTime])) AS CheckIN,
Max(TimeValue([CheckTime])) AS CheckOUT, 
Format(Max(TimeValue([CheckTime]))-Min(TimeValue([CheckTime])),"hh:nn") AS [Work Time],
First(V_Record.Sensorid) AS [Device ID], 
First(V_Record.ClientName) AS [Device name]
FROM V_Record
GROUP BY DateValue([V_Record.CheckTime]), V_Record.Userid
ORDER BY DateValue([V_Record.CheckTime]), First(V_Record.Name);

请检查我在描述中创建的最后一个输出表。我想选择像那天一样明智的…是的。。。你是对的。。。我在描述上错了。。。请允许我修改查询表达式“DATE(CHECKTIME)Day”中的语法错误(缺少运算符),SQLExecDirect中的SQL状态37000,根据我对MySQL的了解,我尝试了相同的查询。我很感激你的回答。正如我在回答中提到的,查询是在MySQL中运行的。您必须将其转换为MsAccess(在MsAccess中查找日期时间函数,并用MsAccess期望的函数替换
date
time
函数……这只是一个语法问题:)