此select语句运行良好,并为我提供了所需的答案,因为我试图查看ID在同一表中出现了多少次,因为它会告诉我ID显示在多少个位置(州中的位置) )。
SELECT ID, COUNT(ID) as CountOfID
FROM Locations_Number
GROUP BY ID
ORDER BY CountOfID Asc;
但是如何将其转换为UPDATE语句,以便我可以引用它 由于“ CountOfLocations”,以下内容显然不起作用 (无效的列名'CountOfLocations')。我可以在这里使用内部联接吗?
UPDATE Locations_Number
set CountOfID =
(SELECT COUNT(ID) as CountOfID
FROM Locations_Number
GROUP BY ID, CountOfID)
答案 0 :(得分:2)
使用窗口功能和可更新的CTE:
with toupdate as (
select ln.*, count(*) over (partition by id) as cnt
from Locations_Number ln
)
update toupdate
set CountOfID = cnt;