gpt4 book ai didi

sql - 获取sql server中的行数,包括列值

转载 作者:行者123 更新时间:2023-12-02 17:22:00 32 4
gpt4 key购买 nike

我需要获取查询的行数,并在一个查询中获取查询的列。计数应该是结果列的一部分(所有行的计数应该相同,因为它是总数)。

例如,如果我这样做:从表中选择 count(1)我可以获得总行数。

如果我这样做:从表中选择a、b、c我将获取查询的列值。

我需要的是在一个查询中以一种非常有效的方式获取计数和列值。

例如:从表中选择 Count(1), a,b,c没有分组依据,因为我想要总数。

我发现的唯一方法是创建一个临时表(使用变量),插入查询的结果,然后进行计数,然后返回两者的连接。但如果结果得到数千条记录,效率就不会很高。

有什么想法吗?

最佳答案

@Jim H 几乎是正确的,但选择了错误的排名函数:

create table #T (ID int)
insert into #T (ID)
select 1 union all
select 2 union all
select 3
select ID,COUNT(*) OVER (PARTITION BY 1) as RowCnt from #T
drop table #T

结果:

ID  RowCnt
1 3
2 3
3 3

按常量分区使其计入整个结果集。

关于sql - 获取sql server中的行数,包括列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8099512/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com