| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2688 人关注过本帖
标题:sql语句问题,找出表中出现最早和最晚的值
只看楼主 加入收藏
sh600839
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2005-8-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
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 编辑 ]
搜索更多相关主题的帖子: 最低 sql语句 最大的 close 
2012-05-14 17:44
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2203
专家分:3867
注 册:2007-4-27
收藏
得分:0 
以下是引用sh600839在2012-5-14 17:44:08的发言:

源表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
日期最早和日期最晚的值,即找出日期字段中的最大值和最小值,是这样吗?

只求每天有一丁点儿的进步就可以了
2012-05-14 18:25
sh600839
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2005-8-30
收藏
得分:0 
日期最早和日期最晚的值,即找出日期字段中的最大值和最小值,是这样吗?

**************
日期最晚的值:是找出日期最晚相对应的价格字段值。
2012-05-14 18:59
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9831
专家分:27165
注 册:2012-2-5
收藏
得分:20 
回复 楼主 sh600839
程序代码:
create cursor a (name c(2),date c(8),price n(2))
insert into a values ("aa","20120501",12)
insert into a values ("aa","20120502",16)
insert into a values ("aa","20120503",13)
insert into a values ("aa","20120504",14)
insert into a values ("bb","20120502",22)
insert into a values ("bb","20120503",26)

*---PRICE的最大值与最小值
select name,min(price) as low,max(price) as high from a group by name order by name into cursor a_low_high 

*---最小DATE对应PRICE
select name,date,price as open from a where date==(select min(date) from a group by name) group by date into cursor a_min

*---最大DATE对应PRICE
select name,date,price as close from a where date==(select max(date) from a group by name) group by date into cursor a_max
select a.name,a.open,b.close,c.low,c.high from a_min a,a_max b,a_low_high c where a.name==b.name and a.name==c.name order by a.name into cursor a_tj
browse
VFP6.0

[ 本帖最后由 sdta 于 2012-5-15 00:05 编辑 ]

坚守VFP最后的阵地
2012-05-14 21:10
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
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9831
专家分:27165
注 册:2012-2-5
收藏
得分:0 
以下是引用sh600839在2012-5-15 17:03:39的发言:

a表的记录多了怎么结果不对?
下面这句没有看懂!
select name,date,price as open from aa where date==(select min(date) from aa group by name) group by date



我得分两句才能正确
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
select min(date) from aa group by name &&查询最小日期

你的要求没说清楚,最后要达到什么效果

[ 本帖最后由 sdta 于 2012-5-15 22:07 编辑 ]

坚守VFP最后的阵地
2012-05-15 17:28
frank2015
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-8-20
收藏
得分:0 
能用一个SQL语句实现吗?
2014-10-21 10:26
快速回复:sql语句问题,找出表中出现最早和最晚的值
数据加载中...
 
   



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

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