| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 2688 人关注过本帖
标题:sql语句问题,找出表中出现最早和最晚的值
取消只看楼主 加入收藏
sh600839
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2005-8-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
sql语句问题,找出表中出现最早和最晚的值
源表a
name   date    price
aa    20120501  12
aa    20120502  16
aa    20120503  13
aa    20120504  14
bb    20120502  22
bb    20120503  26

能不能用一个sql语句得到结果表b?(日期最早和日期最晚的值)
name open high low close
aa    12   16   12  14
bb    22   26   22  26
open,日期date最小的price
close,日期date最大的price
high,low,最高和最低的price

想不出得到open和close的sql解决方法!
我的笨方法是用下面三个sql语句,先单独得到open、close、high、low值,然后再合并一起。
select name,max(price) as high,min(price) as low from 表a group by name
select name,min(date) as date,price as open from 表a group by name
select name,max(date) as date,price as close from 表a group by name


[ 本帖最后由 sh600839 于 2012-5-14 17:56 编辑 ]
2012-05-14 17:44
sh600839
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2005-8-30
收藏
得分:0 
日期最早和日期最晚的值,即找出日期字段中的最大值和最小值,是这样吗?

**************
日期最晚的值:是找出日期最晚相对应的价格字段值。
2012-05-14 18:59
sh600839
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2005-8-30
收藏
得分:0 
a表的记录多了怎么结果不对?
下面这句没有看懂!
select name,date,price as open from aa where date==(select min(date) from aa group by name) group by date

a.rar (35.26 KB)


我得分两句才能正确
select name,min(date) as date from aa group by name into dbf bb
select a.name,a.date,a.price as open from aa a,bb b where a.name=b.name and a.date=b.date



[ 本帖最后由 sh600839 于 2012-5-15 17:12 编辑 ]
2012-05-15 17:03
快速回复:sql语句问题,找出表中出现最早和最晚的值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014462 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved