CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

急救:一条SQL语句,详情请看里面。

楼主mysun(蛤蟆)2001-08-07 12:21:13 在 MS-SQL Server / 基础类 提问

数据库是oracle的,表中有字段:日期,数量。每天一条纪录。现在我想把数据库的按照星期来分组,每组里我要取出这个星期的数量最大值。我要一个这样的纪录集,怎么做呢? 问题点数:42、回复次数:14Top

1 楼mysun(蛤蟆)回复于 2001-08-07 12:50:58 得分 0

怎么没有人回答?Top

2 楼guo(itpub.net)回复于 2001-08-07 13:02:10 得分 12

不知道你说的星期是什么含义,我给一个按星期一,星期二分组的查询  
  假设表结构a   (adate   date,num   number)  
  select   max(num),to_char(adate,'D')   from   a   group   by   to_char(adate,'D')  
  这样分输出7个组分别按星期分组Top

3 楼suiyixin(随意)回复于 2001-08-07 13:15:11 得分 0

学习Top

4 楼mysun(蛤蟆)回复于 2001-08-07 13:20:40 得分 0

我不是想要按照星期一,星期二那样分组。我是想把一个星期分为一组。比如:第一条纪录是:2000-1-1,那么把2000-1-1到2000-1-7日作为一组,2000-1-8到2000-1-15日为第二组。  
  就是这个意思。  
   
  还是非常谢谢   guo   先生!Top

5 楼mysun(蛤蟆)回复于 2001-08-07 13:26:35 得分 0

我说的详细些:  
  表:history  
  字段:  
  说明                         列名                 类型      
  货品ID               ProductID     Number(8)  
  日期                   PName             date  
  最大数               PMax               Number(12,2)  
  最小数               PMin               Number(12,2)  
  开盘价               Oprice           Number(12,2)  
  收盘价               Cprice           Number(12,2)  
  这条SQL要求取出:每个星期的最大数,最小数,星期一的开盘价,和星期天的收盘价。  
   
  比如:第一条纪录是:2000-1-1,那么把2000-1-1到2000-1-7日作为一组,2000-1-8到2000-1-15日为第二组。以次类推,求出第一组的最大数,最小数,星期一的开盘价,星期天的收盘价。第二组的最大数,最小数,星期一的开盘价,星期天的收盘价。......  
  Top

6 楼hailong525(风云)回复于 2001-08-07 13:29:35 得分 15

select   to_char(datafield,'ww'),max(countfield)  
  from   table   group   by   to_char(datafield,'ww')Top

7 楼google_real(dodo)回复于 2001-08-07 13:37:29 得分 10

select   max(amount)   from   yourTable   group   by   to_char(theDate,'ww')Top

8 楼mysun(蛤蟆)回复于 2001-08-07 13:40:42 得分 0

SQL>   select   to_char(pname,'ww'),Max(PMax)   from   history   group   by   to_char(pname,'ww');  
  TO   MAX(PMAX)  
  --   --------------  
  24                         127  
  25                         127  
  26                         166  
  27                         166  
  28                         124  
  请问TO下面的24,25,26,27,28是什么意思?可是这样得不到星期一的开盘价和星期天的收盘价啊?Top

9 楼guo(itpub.net)回复于 2001-08-07 14:20:28 得分 0

to_char(pname,'ww')中的ww指一年中的星期数,比如第一个星期指2001-1-1到2001-1-7,第二个星期是....  
   
   
  Top

10 楼mysun(蛤蟆)回复于 2001-08-07 14:29:51 得分 0

o   ,那么我要取每个星期一的开盘价和每个星期日的收盘价,那该怎么做呢?Top

11 楼gongjan(gong)回复于 2001-08-07 14:43:06 得分 0

老兄,你还是给定一个日期好做呀,累不累?Top

12 楼cxmcxm(小陈)回复于 2001-08-08 00:56:06 得分 0

设一内部日历.Top

13 楼iltg()回复于 2001-08-08 08:48:30 得分 5

我觉得你自己都没有搞清问题。第一:“第一条纪录是:2000-1-1,那么把2000-1-1到2000-1-7日作为一组”,你知道2000-1-1和2000-1-7是在同一星期吗?第二:星期六、星期天休息,哪来的星期天的收盘价?  
  方法:1、建立视图,算出每个交易日是本年度第几个星期;  
              2、select   。。。from     视图       group   by   星期。  
  求星期的函数记不太清了。  
  另外,还的考虑所有的节假日。Top

14 楼mysun(蛤蟆)回复于 2001-08-08 09:27:58 得分 0

哎!Top

相关问题

  • sql语句急救
  • sql语句问题,急救!!!
  • sql语句,详情请进。
  • sql语句,详情请进。
  • sql语句,详情请进。
  • sql语句,详情请进
  • sql语句,详情请进
  • 急救!这个SQL语句怎么写?
  • sql语句问题,详情请进。
  • sql语句问题,详情请进。

关键词

  • sql
  • 星期
  • 最大数
  • ww
  • 小数
  • 分组
  • pname
  • adate
  • 纪录
  • pmax

得分解答快速导航

  • 帖主:mysun
  • guo
  • hailong525
  • google_real
  • iltg

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo