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

这个语句该怎样写?

楼主sailor_2000(阿呆)2003-09-04 10:50:37 在 MS-SQL Server / 基础类 提问

用条select查询语句,取得某表中的几个字段以及记录号。。  
  而不用Identity函数,仅做查询而不另外生成表。 问题点数:60、回复次数:4Top

1 楼szsammy(^_^)回复于 2003-09-04 10:58:04 得分 0

什么意思呀??  
  Top

2 楼mjhnet(天涯沦落人)回复于 2003-09-04 11:00:07 得分 30

首先介绍一种用一条SQL语句完成的办法,原理是在结果中查询大于等于该纪录的纪录条数,就可以得到它的Rank了  
  Example:  
  USE   pubs  
  SELECT   COUNT(*)   AS   Rank,   a1.au_lname,   a1.au_fname  
        FROM   authors   a1,   authors   a2  
        WHERE   a1.au_lname   +   a1.au_fname   >=   a2.au_lname   +   a2.au_fname  
        GROUP   BY   a1.au_lname,   a1.au_fname  
        ORDER   BY   Rank  
   
  select   (select   isnull(sum(1),0)+1   from   authors   where   au_lname   +   au_fname   <   aa.au_lname   +   aa.au_fname)   rank,au_lname,   au_fname  
        from   authors   aa    
        order   by   rank  
   
     
  不过这种方法有它的局限性,第一是性能不好,第二是如果存在相同的纪录,那么Rank就会出现并列的情况,比如出现两个2,但是没有3了  
   
  SQL提供了一个IDENTITY   Function,可以得到标识列的值,不过可惜的很的是,这个函数只能用于SELECT   INTO语句,所以我们只好引入一个临时表了  
  Example:  
  USE   pubs  
  SELECT   IDENTITY(INT,   1,   1)   AS   Rank,au_lname,au_fname  
        INTO   #tmp  
        FROM   authors  
  SELECT   *   FROM   #tmp  
  DROP   TABLE   #tmp  
  这种方法的性能和适用性都比第一种方法要强,不过缺点是必须通过几条SQL语句才能完成。  
  所以如果可能的话,一般还是建议在客户端完成这一操作。  
  Top

3 楼txlicenhe(马可)回复于 2003-09-04 11:12:43 得分 15

如果有唯一字段  
  Select   (select   count(*)   from   yourTable   where   keyField   <=   a.keyField)   as   recNo,F1,F2...   from   yourTable   a  
   
  Top

4 楼pengdali()回复于 2003-09-04 11:33:25 得分 15

select   (select   sum(1)   from   表   where   主键<=tem.主键)   序号,*   from   表   temTop

相关问题

  • 怎样写这个语句(ORACLE8)
  • 怎样写这个sql语句?
  • 怎样写这个select语句?
  • 怎样写这个sql语句,
  • 这个SQL语句应该怎样写?
  • 这个SELECT语句该怎样写?
  • 这个语句用VBScript怎样写呢?
  • 这个SQL语句怎样写?(ORACLE)
  • 这个SQL语句应该怎样写?
  • 这个SQL语句怎样写

关键词

  • 语句
  • 查询
  • a1
  • au
  • lname
  • fname
  • 纪录
  • rank
  • from authors
  • where

得分解答快速导航

  • 帖主:sailor_2000
  • mjhnet
  • txlicenhe
  • pengdali

相关链接

  • SQL Server类图书

广告也精彩

反馈

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