Office中国论坛/Access中国论坛

标题: [已解决]求教:分组后得到每组的第一条记录 [打印本页]

作者: zhn77    时间: 2007-11-29 16:02
标题: [已解决]求教:分组后得到每组的第一条记录
如题,在查询结果中按A分组,然后想得到每组的第一条记录,该怎么办?
比如
ID         CheckTime
1           2007-01-10   14:55:00
2           2007-01-10   16:17:00
3           2007-01-11   11:12:00
4           2007-01-11   11:30:00
5           2007-01-11   11:38:00
6           2007-01-13   10:59:00
7           2007-01-13   11:24:00
.现要获得   每天的第一条记录
请大家不吝赐教

[ 本帖最后由 cuxun 于 2007-12-22 07:42 编辑 ]
作者: Victor_Duane    时间: 2007-11-29 23:41
select first(checktime) as firstofchecktime from tablename group by format(checktime,"yyyy-mm-dd");

[ 本帖最后由 Victor_Duane 于 2007-11-29 23:43 编辑 ]
作者: zhn77    时间: 2007-11-30 11:03
不好意思,我还是没有看明白. 现在把我的表列在下面
part              type        material       date
002-4548     plastic    pp                2007-04-21
002-4548    plastic    pp                 2007-10-04
06345         plastic    pom               2007-07-14
06345         plastic    pom              2007-07-24
yu-453        plastic    pvc               2007-11-11
yu-453        plastic    pvc               2007-02-04
我现在想要每个分组(按part分组)的时间最近的记录.即第2、第4条和第5条。

请问语句该怎么写呢?
谢谢啊

[ 本帖最后由 zhn77 于 2007-11-30 11:13 编辑 ]
作者: zhn77    时间: 2007-11-30 11:30
3楼的兄弟的可用,不过只有一列,我想把整条记录列出来,该怎么办?请赐教
作者: andymark    时间: 2007-11-30 12:40
select first(id) as fistid,first(checktime) as firstofchecktime from tablename group by format(checktime,"yyyy-mm-dd");
作者: zhn77    时间: 2007-11-30 14:14
andymark兄弟的方法可用,真是太谢谢了,一个个字段去取,稍微有点麻烦,不过能用就好,谢谢了啊,其他两位兄弟也一并表达谢意!
作者: Victor_Duane    时间: 2007-11-30 21:15
没得到你的要求,难度有点高,哈哈哈




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3