|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
|
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直接得到!!
----------------------------------------------
- |
作者: |
|
2004/5/5 8:07:37 |
1楼: |
顶一下!!
----------------------------------------------
-
|
作者: |
|
2004/5/5 9:56:42 |
2楼: |
如何select最小日期的一条记录 select * from tablename where datetimefield = (select min(datetimefield) from tablename)
----------------------------------------------
wang
|
作者: |
|
2004/5/5 10:48:28 |
3楼: |
我的要求不是这样 我要求的是得到所有姓名的最后一个数据,因为日期是各不一样的所以不好用max
----------------------------------------------
-
|
作者: |
|
2004/5/5 13:38:12 |
4楼: |
select 姓名,max(日期) as 日期﹐存款總數 from a where 日期<'2004/06/05' group by 姓名 order by 姓名
(注意對姓名分組及取日期最大值的函數)
----------------------------------------------
-
|
作者: |
|
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楼!!
----------------------------------------------
-
|
|