sql查询后的语句如何获取行数
3个回答
展开全部
行号,是指在一定顺序的记录中排列的名次数。
在sql中,如果没有排序,记录顺序是不一定的,
所以,也就不能确定行号(这叫已知条件不足吧)。
但是您如果告诉了要按什么顺序排列,就可以很简单地求出行号。
比如按您给出的两列col1,col2排序,就可以这样求行号:
select
行号=(select
count(1)
from
tablename
a
where
a.col1*10000+a.col2<=tablename.col1*10000+tablename.col2),*
from
tablename
order
by
col1,col2
在sql中,如果没有排序,记录顺序是不一定的,
所以,也就不能确定行号(这叫已知条件不足吧)。
但是您如果告诉了要按什么顺序排列,就可以很简单地求出行号。
比如按您给出的两列col1,col2排序,就可以这样求行号:
select
行号=(select
count(1)
from
tablename
a
where
a.col1*10000+a.col2<=tablename.col1*10000+tablename.col2),*
from
tablename
order
by
col1,col2
展开全部
如果你只是要查询出总的行数
那么按
落月Prc
说的
用全局变量@@rowcount
就可以。
如果是要每行都显示相对应的行数的话,可以用这个试试。
SELECT
ROW_NUMBER()
OVER(ORDER
BY
vcani
desc)
as
序号,vcani,count(*)
as
a
FROM
[FeeStat].[dbo].[FeeData_021_2012]
group
by
vcani
having
count(*)>9
order
by
a
asc
希望对你有所帮助。
那么按
落月Prc
说的
用全局变量@@rowcount
就可以。
如果是要每行都显示相对应的行数的话,可以用这个试试。
SELECT
ROW_NUMBER()
OVER(ORDER
BY
vcani
desc)
as
序号,vcani,count(*)
as
a
FROM
[FeeStat].[dbo].[FeeData_021_2012]
group
by
vcani
having
count(*)>9
order
by
a
asc
希望对你有所帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以用该语句:select
@@rowcount
不过查询语句基本上是用count函数,用select
count(1)
from
表加限制条件,这样的查询效率会高些。
@@rowcount
不过查询语句基本上是用count函数,用select
count(1)
from
表加限制条件,这样的查询效率会高些。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询