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

SQL高手请进!

楼主amei2000go(浪子)2002-04-02 14:21:43 在 Delphi / VCL组件开发及应用 提问

注意:用SQL实现!!!  
   
  有一个字段(Integer),要求找出一个最小且没有被使用的值。 问题点数:20、回复次数:15Top

1 楼gxh(我是一只菜菜菜菜鳥)回复于 2002-04-02 14:25:52 得分 0

select   min(Field)   as   value   from   table  
  value=value-1Top

2 楼anxue(Roland)回复于 2002-04-02 14:47:19 得分 0

你是说你的Integer字段有很多离散的数据,要不断的填空么?Top

3 楼genphone_ru(哎,什么都要学,真累)回复于 2002-04-02 15:12:00 得分 0

什么叫最小且没有被使用呢?Top

4 楼gxh(我是一只菜菜菜菜鳥)回复于 2002-04-02 16:02:10 得分 0

如12,5,3,6,3,8,6,3,6,7,2  
  現在他要的數字就是1。最小的數是2,比2小的是1。是不是這樣?Top

5 楼lgxing(*)回复于 2002-04-02 16:27:42 得分 0

0,1,2,3,7,8,9中要4?  
  还是要-1?Top

6 楼webnumen(webnumen)回复于 2002-04-02 16:41:46 得分 0

没有被使用过是什么意思?Top

7 楼Geoson(快乐的浪子)回复于 2002-04-02 16:54:08 得分 0

select   top   1   min(field)   from   table   where   field   not   in   (select    
  field+1   from   table)   order   by   fieldTop

8 楼jinnee(Jinnee)回复于 2002-04-02 17:02:32 得分 0

不明白是什么意思。  
  Top

9 楼Geoson(快乐的浪子)回复于 2002-04-02 17:02:32 得分 0

错了,以前写过,忘了,要用到case   、not   in   语句,有三层嵌套查询Top

10 楼Geoson(快乐的浪子)回复于 2002-04-02 17:06:27 得分 0

select   min(a+1)   from   #tb   where   a+1   not   in     (select   a   from   #tb)   order   by   a  
  原理是这样的,但不能检测出最小的号不存在的情况,所以,还要用case语句,#tb是表名称,a是fieldTop

11 楼Geoson(快乐的浪子)回复于 2002-04-02 17:09:42 得分 0

加分,case语句没有,但也差不多有50分吧Top

12 楼amei2000go(浪子)回复于 2002-04-02 19:42:56 得分 0

不行哪!  
   
  服务器:   消息   8126,级别   16,状态   1,行   1  
  列名   'aa.id'   在   ORDER   BY   子句中无效,因为该列未包含在聚合函数中,并且没有   GROUP   BY   子句。  
  Top

13 楼Geoson(快乐的浪子)回复于 2002-04-03 13:38:31 得分 20

你的表名是不是aa,字段是id的话,请用:  
  select   min(id+1)   from   aa   where   id+1   not   in     (select   id   from   aa)   order   by   id  
  Top

14 楼amei2000go(浪子)回复于 2002-04-04 11:54:55 得分 0

还是不行哪!  
  服务器:   消息   8126,级别   16,状态   1,行   1  
  列名   'aa.id'   在   ORDER   BY   子句中无效,因为该列未包含在聚合函数中,并且没有   GROUP   BY   子句。  
  要不你自己试试。Top

15 楼amei2000go(浪子)回复于 2002-04-04 11:58:22 得分 0

select   min(id+1)   from   aa   where   id+1   not   in     (select   id   from   aa)    
  group   by   id  
  order   by   id  
  OK!Top

相关问题

  • SQL高手请进
  • SQL高手请进!!!
  • SQL高手请进!
  • SQL高手请进!
  • sql高手请进!
  • SQL 高手请进
  • SQL 高手请进
  • sql 高手请进
  • SQL高手请进
  • SQL高手请进!

关键词

  • 字段
  • 语句
  • 子句
  • aa
  • min
  • field
  • tb
  • order
  • group
  • 没有

得分解答快速导航

  • 帖主:amei2000go
  • Geoson

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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