【发布时间】:2019-07-02 07:43:24
【问题描述】:
我在 MariaDB 中有一张不同节点的表,每个节点可以有多个硬件组件,我想统计每个节点有多少个硬件组件并将其存储在一个列中。
因此,我创建了一个名为“HW_Count”的空列。我可以通过以下 SELECT 语句进行此计算。
SELECT NodeID,COUNT(NodeId) OVER (PARTITION BY NodeId) FROM Hardware AS HW_Count
这将返回以下类型的列表
NodeID HWCount
1 33
1 33
... ...
2 11
2 11
... ...
现在我想用 tihs 信息更新名为 Hardware 的表中的空列,但我不确定如何编写正确的 UPDATE 语句。我想做一些类似的事情
UPDATE Hardware
SET HW_count =
COUNT(NodeId) OVER (PARTITION BY NodeId)
但它会返回
"SQL ERROR (4015): Window function is allowed only in SELECT list and ORDER BY clause".
更新我的专栏的正确方法是什么?
谢谢!
【问题讨论】:
-
在更新语句
SET HW_count = ...中,HW_count是你的Hardware表列之一? -
"因此我创建了一个名为 "HW_Count" 的空列 "是的,它是空列。
标签: sql sql-update mariadb window-functions