有了行号之后你就可以实现你想要的功能了,例如: SELECT MAX(ROWNUM) FROM ( SELECT ROW_NUMBER() OVER(ORDER BY TAB1.某一字段名) AS ROWNUM FROM TAB1 ) TAB2 GROUP BY TAB2.ROWNUM
SoftwKLC(自由的飞鸟) 你得到的X,Y是对的,可是为什么 set @Z=@X/@Y select @Z 这个是.0 X=30,Y=130
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 是不是这样??
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
SELECT RTRIM(CAST(@X * 100.0 / @Y AS numeric(10,2))) + '%' AS Expr1
select * from temp比如这个得到了120行,现在我怎么可能行到这个120的数字?
select @n = count(1) from tabl
select @n
SELECT * , Place=(SELECT COUNT(DISTINCT id) FROM tb WHERE id >= a.id)
FROM id a
ORDER BY Place
Select @@rowCount ---这样返回一个结果所影响的行数
SELECT * , Place=(SELECT COUNT(id) FROM tb WHERE id > a.id) + 1
FROM tb a
ORDER BY Place
不知道是不是这个意思...
select count(*) from tab1
select * from tabl_A 得到一个行数 X
select * from tabl_B 得到一个行数 Y
我要求 Z=X/Y
select @@rowcount
count(*)from tab1 是tab1 的总行数
不知道楼主要什么结果
得到行数以后要求 相除的结果应该不难吧?
count(*)from tab1 是tab1 的总行数
不知道楼主要什么结果
得到行数以后要求 相除的结果应该不难吧?我试了,count (*)行到的结果不正确~~~
Select @X=Count(*) From tabl_A
Select @Y=Count(*) From tabl_B
Set @Z=@X/@Y
Select @Z
-----------------
怎么个不正确了?是不是你数据有重复的???
SELECT MAX(ROWNUM)
FROM
( SELECT ROW_NUMBER() OVER(ORDER BY TAB1.某一字段名) AS ROWNUM
FROM TAB1
) TAB2
GROUP BY TAB2.ROWNUM
你得到的X,Y是对的,可是为什么
set @Z=@X/@Y
select @Z 这个是.0
X=30,Y=130
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
是不是这样??
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