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

寻求一SQL语句,关于求每个项目的最大值(见下面数据)!!!

楼主hawk_js(鹰)2004-12-02 15:46:12 在 MS-SQL Server / 基础类 提问

记录数据如下:  
   
  日期               科目类型                       借方  
  200401           经费支出—会议费       100  
  200401           经费支出—差旅费       120  
  。。。  
  200402           经费支出—会议费       200  
  200402           经费支出—宣传费       130  
  。。。  
  200412。。。  
   
  现在我想求得各个费用的最大值以及它所在的月份,请问我应该怎么求? 问题点数:20、回复次数:18Top

1 楼lsxaa(小李铅笔刀)回复于 2004-12-02 15:49:05 得分 1

select   *  
  from   t   a  
  where   not   exists(select   1   from   t   where   科目类型=a.科目类型   and   借方>a.借方)Top

2 楼WangZWang(先来)回复于 2004-12-02 15:50:58 得分 1

select   a.*   from   table   as   a  
  inner   join    
  (Select   科目类型,max(借方)   as   借方  
  from   table  
  group   by   科目类型)   as   b    
    on   a.科目类型=b.科目类型   and   a.借方=b.借方Top

3 楼vinsonshen(为了明天)回复于 2004-12-02 15:52:38 得分 1

select   *   from   表   a   where   not   exists   (select   *   from   表   where   科目类型=a.科目类型   and   借方>a.借方)Top

4 楼vinsonshen(为了明天)回复于 2004-12-02 15:53:19 得分 0

顶,又给小李子动作快我一步Top

5 楼hawk_js(鹰)回复于 2004-12-02 15:54:03 得分 0

更正一下数据记录形式:  
   
  日期           凭证号     科目类型                       借方      
  200401                       经费支出—会议费       100  
  200401                       经费支出—差旅费       120  
  200401                       经费支出—会议费       300         (可以重复)  
  。。。  
  200402                       经费支出—会议费       200  
  200402                       经费支出—宣传费       130  
  。。。  
  200412。。。  
  Top

6 楼iswear428(黄沙百战穿金甲,不破楼兰终不还)回复于 2004-12-02 15:55:59 得分 1

select   b.*  
  from   table as   b  
  inner   join  
  (select   科目类型,max(借方) from   table   group   by   科目类型   )   as   a  
  on   b.科目类型   =   a.科目类型   and   a.借方=b.借方Top

7 楼vinsonshen(为了明天)回复于 2004-12-02 15:56:08 得分 1

以上重复  
  200401                       经费支出—会议费       100  
  200401                       经费支出—差旅费       120  
  200401                       经费支出—会议费       300         (可以重复)  
   
  一样的  
   
  select   *   from   表   a   where   not   exists   (select   *   from   表   where   科目类型=a.科目类型   and   借方>a.借方)  
  Top

8 楼hawk_js(鹰)回复于 2004-12-02 16:04:35 得分 0

请问如果我想求得每一个科目类型在12个月中,哪个月的合计值最大,怎么求?就是想得到:  
   
  科目类型                       月份       月合计金额  
  经费支出—会议费         01        
  经费支出—差旅费         01  
  经费支出—宣传费         04  
  。。。Top

9 楼wangganyang(海洋)回复于 2004-12-02 16:06:37 得分 0

upTop

10 楼hawk_js(鹰)回复于 2004-12-02 16:33:39 得分 0

再问问;)Top

11 楼lijiye19810413(继业)回复于 2004-12-02 17:12:13 得分 1

select   月份,max(月合计金额)   from   tablename   group   by   月份Top

12 楼hawk_js(鹰)回复于 2004-12-02 17:16:27 得分 0

那么如何把求(月合计金额)的SQL语句与  
  select   月份,max(月合计金额)   from   tablename   group   by   月份  
  嵌套起来呢?Top

13 楼scorpiowell(年年岁岁花相似,岁岁年年人不同)回复于 2004-12-02 17:21:18 得分 1

select   科目类型,月份,月合计金额    
  from   your_table   a  
  where   月合计金额=(select   Max(月合计金额)   from   your_table   where   科目类型=a.科目类型   group   by   科目类型)Top

14 楼yangh44(涉世之初)回复于 2004-12-02 17:26:52 得分 1

select   a.month(日期),a.科目类型,a.借方    
  from   TableName   a  
  where   a.借方   >   (select   b.借方    
                                  from   TableName   b)  
  group   by   科目类型Top

15 楼yangh44(涉世之初)回复于 2004-12-02 17:29:42 得分 0

刚才有误!  
  特此更正!!  
  select   a.month(日期),a.科目类型,a.借方    
  from   TableName   a  
  where   a.借方   >   (select   b.借方    
                                  from   TableName   b  
                                  where   a.科目类型   =   b.科目类型)  
  group   by   科目类型  
  Top

16 楼lijiye19810413(继业)回复于 2004-12-02 17:52:53 得分 1

更正:  
          select   科目类型,月份,max(月合计金额)   from   tablename   group   by   科目类型,月份  
  你要是想看到合计的话,可以再用下面的语句:  
          select   科目类型,月份,sum(max(月合计金额))   from   tablename   group   by   科目类型,月份  
  我记得还有一个关键字能够直接起到第二个语句的作用,但是,我忘记应该怎么写了!不好意思!  
  你可以自己建立一张表,用上面的语句归集到的数据插入进去,然后,在用第二个语句将总计更新上去!这样就麻烦点了!Top

17 楼jianxin_js(兔)回复于 2004-12-03 16:11:14 得分 10

select   *    
  from  
  (SELECT     科目   as   km,   right(日期,2)   as   rq,   sum(借方)   as   hj  
  FROM   凭证  
  WHERE   科目1='经费支出'  
  GROUP   BY   科目,   right(日期,2))   tbTemp  
  where   not   exists   (  
  select   1   from    
  (SELECT     科目   as   km,   right(日期,2)   as   rq,   sum(借方)   as   hj  
  FROM   凭证  
  WHERE   科目1='经费支出'  
  GROUP   BY   科目,   right(日期,2))   tbTemp1  
  where   tbTemp.km=tbTemp1.km  
      and   tbTemp.hj<tbTemp1.hj)  
  Top

18 楼zhang_yzy(六子儿)回复于 2004-12-03 17:41:44 得分 1

日期               科目类型                       借方  
  select   max(日期),b.科目类型,b.借方  
      from   table   a  
              inner   join   (select   科目类型,max(借方)  
                                          from   table    
                                          group   by   科目类型   )   b    
              on   a.科目类型=b.科目类型   and   a.借方=b.借方  
      group   by   b.科目类型,b.借方  
             
   
  Top

相关问题

  • 求行中的最大值sql语句,,,,
  • 怎样得到用SQL语句求最大值的结果?
  • 请问一条找最大值的sql语句
  • sql语句,求每个分组中的最大值
  • 求一段关于最大值的SQL语句。
  • 写一段关于最大值的SQL语句。
  • sql语句中,数字的最大值用什么符号表示,如select * from t1 where aa>100 and aa<最大值,这个最大值用什么表示呢?
  • 关于SQL语句CREAT SEQUCE,如何设置最大值和最小值?
  • 用来查找某列最大值的SQL语句怎么写?用MAX的。
  • 求SQL语句或者存储过程,不连续最大值问题,急!

关键词

  • 科目
  • 语句
  • 数据
  • 借方
  • 经费支出
  • 科目类型
  • 会议费
  • 月份
  • awhere
  • tbtemp

得分解答快速导航

  • 帖主:hawk_js
  • lsxaa
  • WangZWang
  • vinsonshen
  • iswear428
  • vinsonshen
  • lijiye19810413
  • scorpiowell
  • yangh44
  • lijiye19810413
  • jianxin_js
  • zhang_yzy

相关链接

  • SQL Server类图书

广告也精彩

反馈

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