如何使用同一 table 中另一列的计数更新列
How to a Update Column with a Count of another Column in the same table
这个 select 语句工作正常并给了我需要的答案,因为我试图查看一个 ID 在同一个 table 中出现了多少次,因为它会告诉我有多少个位置该 ID 显示在(如美国的位置)。
SELECT ID, COUNT(ID) as CountOfID
FROM Locations_Number
GROUP BY ID
ORDER BY CountOfID Asc;
但是我怎样才能将它翻译成更新语句以便我可以参考它
由于 "CountOfLocations",以下显然不起作用
(无效的列名称 'CountOfLocations')。我可以在这里使用内部联接吗?
UPDATE Locations_Number
set CountOfID =
(SELECT COUNT(ID) as CountOfID
FROM Locations_Number
GROUP BY ID, CountOfID)
使用 window 函数和可更新的 CTE:
with toupdate as (
select ln.*, count(*) over (partition by id) as cnt
from Locations_Number ln
)
update toupdate
set CountOfID = cnt;
这个 select 语句工作正常并给了我需要的答案,因为我试图查看一个 ID 在同一个 table 中出现了多少次,因为它会告诉我有多少个位置该 ID 显示在(如美国的位置)。
SELECT ID, COUNT(ID) as CountOfID
FROM Locations_Number
GROUP BY ID
ORDER BY CountOfID Asc;
但是我怎样才能将它翻译成更新语句以便我可以参考它 由于 "CountOfLocations",以下显然不起作用 (无效的列名称 'CountOfLocations')。我可以在这里使用内部联接吗?
UPDATE Locations_Number
set CountOfID =
(SELECT COUNT(ID) as CountOfID
FROM Locations_Number
GROUP BY ID, CountOfID)
使用 window 函数和可更新的 CTE:
with toupdate as (
select ln.*, count(*) over (partition by id) as cnt
from Locations_Number ln
)
update toupdate
set CountOfID = cnt;