select * from tabl 比如这个得到了120行,现在我怎么可能行到这个120的数字?

解决方案 »

  1.   

    select id=identity(int,1,1) ,* into temp from tabl 
    select * from temp比如这个得到了120行,现在我怎么可能行到这个120的数字?
      

  2.   

    declare @n int
    select @n = count(1) from tabl 
    select @n
      

  3.   

    如果有某列能区分大小如ID1. 名次生成方式1,Score重复时合并名次
    SELECT * , Place=(SELECT COUNT(DISTINCT id) FROM tb WHERE id >= a.id)
    FROM id a
    ORDER BY Place
      

  4.   

    select * from tabl 
    Select @@rowCount  ---这样返回一个结果所影响的行数
      

  5.   

    2. 名次生成方式2 , ID重复时保留名次空缺
    SELECT * , Place=(SELECT COUNT(id) FROM tb WHERE id > a.id) + 1
    FROM tb a
    ORDER BY Place
      

  6.   

    select * from tabl 比如这个得到了120行,现在我怎么可能行到这个120的数字?------------
    不知道是不是这个意思...
    select count(*) from tab1
      

  7.   

    2楼,你的可以得到行数,可是不是我想要的,我想求二个查询结果的比,比如:
    select * from tabl_A   得到一个行数 X
    select * from tabl_B   得到一个行数 Y
    我要求 Z=X/Y
      

  8.   

    select * from tabl 
    select @@rowcount
      

  9.   

    @@rowcount是上一个语句影响的行数
    count(*)from tab1 是tab1 的总行数
    不知道楼主要什么结果 
    得到行数以后要求 相除的结果应该不难吧?
      

  10.   

    @@rowcount是上一个语句影响的行数
    count(*)from tab1 是tab1 的总行数
    不知道楼主要什么结果 
    得到行数以后要求 相除的结果应该不难吧?我试了,count (*)行到的结果不正确~~~
      

  11.   

    Declare @X int,@Y int,@Z Numeric(10,2)
    Select @X=Count(*) From tabl_A
    Select @Y=Count(*) From tabl_B
    Set @Z=@X/@Y
    Select @Z
      

  12.   

    我试了,count (*)行到的结果不正确~~~
    -----------------
    怎么个不正确了?是不是你数据有重复的???
      

  13.   

    有了行号之后你就可以实现你想要的功能了,例如:
    SELECT MAX(ROWNUM)
    FROM   
    (   SELECT ROW_NUMBER() OVER(ORDER BY TAB1.某一字段名) AS ROWNUM
        FROM   TAB1
    )   TAB2
    GROUP BY TAB2.ROWNUM
      

  14.   

    SoftwKLC(自由的飞鸟)
    你得到的X,Y是对的,可是为什么
    set @Z=@X/@Y
    select @Z  这个是.0
    X=30,Y=130
      

  15.   

    Create Table A(
    AID INT identity Primary Key,
    ColA VarChar(10)
    )Create Table B(
    BID INT identity Primary Key,
    ColB VarChar(10)
    )Insert Into A (ColA)
    Select 'A' Union ALL
    Select 'B' Union ALL
    Select 'C' Union ALL
    Select 'D'Insert Into B (ColB)
    Select 'A' Union ALL
    Select 'B' Union ALL
    Select 'C' Union ALL
    Select 'D' 
    Go
    Declare @rowA int
    Declare @rowB int
    Select @rowA= Count(*) From A 
    Select @rowB= Count(*) From BSelect S=@rowA/@rowB 
    Go
    drop table A,B
    是不是这样??
      

  16.   

    Declare @X int,@Y int,@Z Numeric(10,2)---请注意@Z的类型Numeric
    Select @X=Count(*) From tabl_A
    Select @Y=Count(*) From tabl_B
    Set @Z=Case @Y When 0 Then 0 Else @X/@Y End 
    Select @Z
      

  17.   

    SELECT   RTRIM(CAST(@X   *   100.0   /   @Y   AS   numeric(10,2)))   +   '%'   AS   Expr1
      

  18.   

    Declare @X Numeric(10,2),@Y Numeric(10,2),@Z Numeric(10,2)---请注意@Z的类型Numeric