CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

求一条sql语句

楼主tmxkdldw(tmxkdldw)2004-05-02 14:10:40 在 MS-SQL Server / 基础类 提问

bh                   rq           sl  
  0001 20000403 23  
  0001 20000403 280  
  0001 20000404 40  
  0001           20000504     50  
  0002 20000408 203  
  0003           20000508 260  
  求每一个月数量大于250的纪录  
   
  结果  
  0001       200004     343  
  0003       200005     260  
   
  怎么写这条sql语句?  
  问题点数:10、回复次数:9Top

1 楼internetcsdn(2003-8-7 9:20:26)回复于 2004-05-02 14:19:11 得分 0

结果集的中间列是怎样得出来的啊?Top

2 楼passionke(每一步都改变未来,却只能有一种结局!)回复于 2004-05-02 14:23:32 得分 0

select   bh   ,year(rq)&month(rq)   as   ym   ,s1   where   s1   >   250Top

3 楼maregister(夜星)回复于 2004-05-02 14:35:38 得分 0

select   bh,year(rq)+month(rq)   as   ym,sl   where   sl>250Top

4 楼xh800810(黑)回复于 2004-05-02 14:43:15 得分 0

select   bh   ,rq,sum(sl)  
  from   table  
  group   by   rq  
  having   sum(sl)>250;  
  没验证不过应该对了吧Top

5 楼liang922(*良*朋好友)回复于 2004-05-02 15:41:14 得分 0

select   a.bh,sum(a.sl)  
  from   (select   bh,convert(t.rq,varchar(6)),sl  
              from   tb   t)   a  
  group   by   a.bhTop

6 楼liang922(*良*朋好友)回复于 2004-05-02 15:58:40 得分 0

测试:  
  create   table   test2  
  (  
      bh   varchar(4),  
      rq   varchar(8),  
      sl   float  
  )  
  go  
   
  insert   into   test2  
      select   '0001','20000403',   23   union   all  
      select   '0001','20000403',   280   union   all  
      select   '0001','20000404',   40   union   all  
      select   '0001','20000504',   50   union   all  
      select   '0002','20000408',   203   union   all  
      select   '0003','20000508',   260    
  go  
   
  select   a.bh,a.rq,sum(a.sl)   as   sl  
  from    
  (select   t.bh,convert(varchar(6),t.rq)   as   rq,sl  
              from   test2   t)   a  
  group   by     a.bh,a.rq  
  having   sum(a.sl)   >   250  
   
  测试结果:  
  0001       200004     343  
  0003       200005     260  
  Top

7 楼luckds(ferrari)回复于 2004-05-02 21:43:01 得分 10

bh                   rq           sl  
  0001 20000403 23  
  0001 20000403 280  
  0001 20000404 40  
  0001           20000504     50  
  0002 20000408 203  
  0003           20000508 260  
   
  select   bh,substring(rq,1,6),sum(sl)   as   zsl   from     table   (表名)  
      group   by   bh,substring(rq,1,6)  
          having   sum(sl)   >250  
  结果  
  0001       200004     343  
  0003       200005     260  
   
  Top

8 楼FEB15(张郎)回复于 2004-05-02 23:17:00 得分 0

学习Top

9 楼internetcsdn(2003-8-7 9:20:26)回复于 2004-05-02 23:49:10 得分 0

同意楼上的楼上Top

相关问题

  • 一条sql语句
  • 一条sql语句
  • 一条sql语句!
  • 一条SQL语句
  • 一条sql语句
  • 一条sql语句
  • 一条sql语句
  • 一条SQL 语句
  • 一条sql语句
  • 一条sql语句

关键词

  • rq
  • sl
  • bh
  • union
  • sum
  • varchar
  • test2
  • select

得分解答快速导航

  • 帖主:tmxkdldw
  • luckds

相关链接

  • SQL Server类图书

广告也精彩

反馈

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