gpt4 book ai didi

sql-server - 在 SQL Server 2008 中,如何计算不同值的行数

转载 作者:行者123 更新时间:2023-12-02 07:37:42 24 4
gpt4 key购买 nike

表结构和数据为:

col a     col c count
107 0
107 0
107 0
107 0
108 0

我可以写什么 select 语句来得到这个结果?我想计算“col a”值的数量。

col a    col c count
107 4
107 4
107 4
107 4
108 1

最佳答案

您可以使用 count() over()语法:

select cola,
count(cola) over(partition by cola) CountColC
from yourtable

参见 SQL Fiddle with Demo

| COLA | COUNTC |
-----------------
| 107 | 4 |
| 107 | 4 |
| 107 | 4 |
| 107 | 4 |
| 108 | 1 |

如果您随后想要使用此数据执行更新,您将使用:

;WITH cte AS
(
SELECT cola,
colc,
count(cola) over(partition BY cola) CountC
FROM yourtable
)
UPDATE cte
SET colc = countc;

参见 SQL Fiddle with Demo

关于sql-server - 在 SQL Server 2008 中,如何计算不同值的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729898/

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