关于Access数据库查询日期最大值记录
问题是这样的:表1有近15个字段,大致结构如下:ID记录日期地点联系人XX......c0012013-1-1BeijingAAAXX......c0012013-2-2...
问题是这样的:表1有近15个字段,大致结构如下:
ID 记录日期 地点 联系人 XX......
c001 2013-1-1 Beijing AAA XX......
c001 2013-2-2 Beijing AAA XX......
c002 2013-1-1 Shanghai BBB XX......
c002 2013-2-2 Shanghai BBB XX......
现在要做一个查询,返回以下结果:
ID 记录日期 地点 联系人 XX......
c001 2013-2-2 Beijing AAA XX......
c002 2013-2-2 Shanghai BBB XX......
之前写的sql语句是: SELECT *
FROM 表1 WHERE (((表1.[记录日期]) In (SELECT MAX(记录日期) FROM 表1 GROUP BY ID)));
但貌似只要记录日期字段下有重复值就会将含有重复字段的整条记录查询出来。想了很多办法,均未成功。纯新手,非常苦恼,求大神帮帮忙
不要沉啊!有人帮帮忙么? 展开
ID 记录日期 地点 联系人 XX......
c001 2013-1-1 Beijing AAA XX......
c001 2013-2-2 Beijing AAA XX......
c002 2013-1-1 Shanghai BBB XX......
c002 2013-2-2 Shanghai BBB XX......
现在要做一个查询,返回以下结果:
ID 记录日期 地点 联系人 XX......
c001 2013-2-2 Beijing AAA XX......
c002 2013-2-2 Shanghai BBB XX......
之前写的sql语句是: SELECT *
FROM 表1 WHERE (((表1.[记录日期]) In (SELECT MAX(记录日期) FROM 表1 GROUP BY ID)));
但貌似只要记录日期字段下有重复值就会将含有重复字段的整条记录查询出来。想了很多办法,均未成功。纯新手,非常苦恼,求大神帮帮忙
不要沉啊!有人帮帮忙么? 展开
1个回答
展开全部
SELECT ID , MAX(记录日期) as 记录日期, 地点 ,联系人 FROM 表1 GROUP BY ID , 地点 ,联系人;
更多追问追答
追问
执行后显示查询中不包含作为聚合函数一部分的特定表达式“地点,联系人”,是不是语句要求select后的字段必须要包含在group by语句中?但如果group by之后再加上其余字段后,运行结果会跟原表一样,没有查询出最大值。能不能再想想办法?
追答
SELECT *
FROM 表1 WHERE 表1.[记录日期] In (SELECT distinct 记录日期 FROM 表1 );
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询