我正在尝试选择与另一列中的最小数字相对应的值,然后将其用于另一个表中的SET。
但它告诉我“这里不允许组功能”
有没有其他方法可以实现这一目标?
UPDATE team
SET OWNERID = (SELECT USERID
FROM teamuser
WHERE MIN(CREATETIME)
AND teamId = 5)
WHERE teamId = 5
(团队和teamuser表都有一个列teamId)。
答案 0 :(得分:2)
你应该做
UPDATE team
SET OWNERID = (SELECT USERID
FROM TEAMUSER
WHERE CREATETIME = (select min(CREATETIME) from TEAMUSER)
AND teamId = 5
)
WHERE teamId = 5
您不能在where子句中使用聚合函数,只能在选择时使用它,或者在分组后的Having子句中使用
答案 1 :(得分:2)
UPDATE team
SET OWNERID = (SELECT USERID
FROM TEAMUSER
WHERE CREATETIME = (SELECT MIN(CREATETIME) FROM TEAMUSER WHERE teamId = 5)
AND teamId = 5)
WHERE teamId = 5