Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何查询最新记录

季平非  发表于:2010-05-05 05:05:12  
复制

如何在所有的记录中只查询最新记录?

在事例中为每个儿童不定期测量身高,查询只显示最后时间的身高结果。

点击下载此附件

 

Top
蒋元根 发表于:2010-05-05 08:11:33

修改了一下,供参考.

SELECT 身高记录.姓名ID, Last(身高记录.测量日期) AS 最新测量日期, Last(身高记录.身高) AS 身高
FROM 身高记录
GROUP BY 身高记录.姓名ID
ORDER BY 身高记录.姓名ID;

点击下载此附件

lt 发表于:2010-05-05 11:47:33
Last好象仅是指最后一条输入的条记录,一旦不是按日期从小到大的顺序输入记录,可能就不对了。

赵文斌 发表于:2010-05-05 12:21:27

在记录表中加一个自动编号字段。然后求自动编号最大值就可以了,不用担心日期排序问题。



蒋元根 发表于:2010-05-05 15:43:40

修改了一下,增加按最大值身高记录 查询,供参考

SELECT 身高记录.姓名ID, Max(身高记录.测量日期) AS 最新测量日期, Max(身高记录.身高) AS 身高
FROM 身高记录
GROUP BY 身高记录.姓名ID
ORDER BY 身高记录.姓名ID, Max(身高记录.身高) DESC;

点击下载此附件

lt 发表于:2010-05-05 17:34:24

总是按最晚日期数据而不是最后一条录入的数据查询。避免不按日期从小到大的顺序录入数据而可能产生的查询错误。

 

SELECT 身高记录.姓名ID, (身高记录.测量日期) AS 最新测量日期, 身高记录.身高
FROM 身高记录 inner join (SELECT 身高记录.姓名ID,max(身高记录.测量日期) as 最新测量日期
from 身高记录
group by 身高记录.姓名ID) as a  on (身高记录.姓名ID=a.姓名ID) and (身高记录.测量日期=a.最新测量日期)



总记录:5篇  页次:1/1 9 1 :