DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: lambdaflow
今日帖子: 1
在线用户: 3
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 cyh9519 (智商65) ★☆☆☆☆ -
普通会员
2004/5/4 9:10:18
标题:
如何从表中找出某一日期之前最晚的一批数据 浏览:1106
加入我的收藏
楼主: 表a的内容如下:(当存款总数变动时,数据库才会添加数据)
     姓名       日期       存款总数
     张三     2004-4-20      2000
     李四     2004-4-25      2500
     张三     2004-5-20      2500
     李四     2004-5-25      3000
     张三     2004-6-20      3000
     李四     2004-6-25      3500
要求找出2004-6-5所有人的存款总数,即得到以下数据:
     姓名       日期       存款总数
     张三     2004-5-20      2500
     李四     2004-5-25      3000
请问这样的要求能否用SQL直接得到!!
----------------------------------------------
-
作者:
男 cyh9519 (智商65) ★☆☆☆☆ -
普通会员
2004/5/5 8:07:37
1楼: 顶一下!!
----------------------------------------------
-
作者:
男 whbchy (whb) ★☆☆☆☆ -
普通会员
2004/5/5 9:56:42
2楼:
如何select最小日期的一条记录
select * from tablename where datetimefield = (select min(datetimefield) from tablename) 

----------------------------------------------
wang
作者:
男 cyh9519 (智商65) ★☆☆☆☆ -
普通会员
2004/5/5 10:48:28
3楼: 我的要求不是这样
我要求的是得到所有姓名的最后一个数据,因为日期是各不一样的所以不好用max
----------------------------------------------
-
作者:
男 hjjszhshs (我心飞翔) ★☆☆☆☆ -
盒子活跃会员
2004/5/5 13:38:12
4楼: select 姓名,max(日期) as 日期﹐存款總數 from a where 日期<'2004/06/05' group by 姓名 order by 姓名

(注意對姓名分組及取日期最大值的函數)
----------------------------------------------
-
作者:
男 cyh9519 (智商65) ★☆☆☆☆ -
普通会员
2004/5/5 14:19:34
5楼: 楼上的这句话有漏洞
group by 姓名 则 存款總數 是不能存在的

不过我根据楼上的提示已经写出来了
select 姓名, 日期, 存款總數 from a where 日期 in 
(select max(日期) from a where 日期<'2004-6-5' group by 姓名)

感谢4楼!!
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行54.6875毫秒 RSS