CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

谁能帮我写这个Sql,另开贴巨分相赠!

楼主Xsean()2001-12-21 08:48:28 在 VC/MFC / 基础类 提问

字段:a,b,c,d,e  
  要求得到以a分组(group   by)且d值最大的纪录,若对同一a,有多项d值相等且最大,只需一条纪录(以e排序)。所有字段都要显示。  
  大致意思为:select   a,b,c,max(d),e   group   by   a   order   by   e  
  但这样的sql是不合法的。  
   
  举例:1,2,3,4,5;  
              1,3,6,8,8;  
              1,5,8,8,7;  
              2,3,5,6,7;  
  要求得到:1,3,6,8,7(对同一a,d值最大,e值最小)  
                    2,3,5,6,7  
   
   
  注:用access   2000,jet   4.0引擎  
  问题点数:50、回复次数:12Top

1 楼Xsean()回复于 2001-12-21 09:10:33 得分 0

我急用,大虾们!Top

2 楼vc_java()回复于 2001-12-21 09:36:19 得分 0

这个只用一个语句估计很麻烦,用多个语句分开写呀Top

3 楼pinel()回复于 2001-12-21 09:57:49 得分 30

SELECT   a,   b,   c,   d,   e  
  FROM   abc  
  WHERE   d   IN  
                      (SELECT   MAX(d)   AS   mm  
                    FROM   abc  
                    GROUP   BY   a)    
  AND   e   IN  
                      (SELECT   MIN(e)   AS   mn  
                    FROM   abc  
                    GROUP   BY   a)  
  ORDER   BY   a,e  
   
  Top

4 楼pinel()回复于 2001-12-21 10:02:21 得分 0

啊,结果不一样,我是  
  1,5,8,8,7(对同一a,d值最大,e值最小,应该是这条啊)  
  2,3,5,6,7  
  你的条件不是很清楚Top

5 楼pinel()回复于 2001-12-21 10:07:44 得分 0

看来要用多个语句写,Top

6 楼Novelty(novel.zhou)回复于 2001-12-21 10:17:35 得分 20

select   *   from   csdn   where   d    
      in   (select   max(d)   from   csdn   group   by   a)   and   e  
          in   (select   min(e)   from   csdn   group   by   a,d)    
              order   by   a  
   
  快给分啊!!!!!!!  
   
   
       
   
  Top

7 楼pinel()回复于 2001-12-21 12:09:11 得分 0

不对,和我的一样,他是要整合纪录Top

8 楼ji_hui(我是谁)回复于 2001-12-21 12:36:22 得分 0

举例:1,2,3,4,5;  
              1,3,6,8,8;  
              1,5,8,8,7;  
              2,3,5,6,7;  
  要求得到:1,3,6,8,7(对同一a,d值最大,e值最小)  
                  2,3,5,6,7  
   
   
  是不是问错了?  
  1,3,6,8,7中的7是最小吗?Top

9 楼pinel()回复于 2001-12-21 12:54:28 得分 0

题目讲的很不清楚,家伙怎没声了  
   
  Top

10 楼Xsean()回复于 2001-12-21 13:09:01 得分 0

 
  Sorry!!!我写错了,应该是:  
  要求得到:1,5,8,8,7(对同一a,d值最大,e值最小)  
                  2,3,5,6,7  
   
  pinel()和Novelty()的方法都对。  
  先送点分1414,以后找个时间统一发红包,Novelty()兄不要那么急不可待的样子,我会记得你的大恩大德;Novelty(),我爱S你了.  
     
  Top

11 楼Xsean()回复于 2001-12-21 13:13:54 得分 0

pinel()莫怪,我上、下午各有一个半小时的上网时间,所以........Top

12 楼Xsean()回复于 2001-12-21 17:59:27 得分 0

不对阿!我想对每个a返回唯一的纪录!上述写法似乎存在变数,会根据d,e的取值不同发生变化!我再看看。。。。Top

相关问题

  • 巨难的SQL语句,请高手帮忙看看,谢谢!!!!!!!!!!!!!!
  • 帮我写句sql
  • 帮忙写句SQL
  • 求助 SQL 谁能 帮我 (SQL 求和)
  • SQL???
  • sql????????????????????
  • sql
  • SQL????
  • sql
  • sQl

关键词

  • csdn
  • novelty
  • 同一
  • 纪录
  • group
  • 要求得到
  • max
  • order
  • select

得分解答快速导航

  • 帖主:Xsean
  • pinel
  • Novelty

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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