感谢您花时间看我的问题。我见过类似的问题,但深度不同。请帮忙!
我想更新包含 user_id 和 date_created 的表中所有行的列,其中 user_id 的 date_created 最低。
以下选择为我提供了我想要更新的所有行:
select user_id, min(date_created) from mytable s1 where
(select count(1) from mytable s2 where
s1.user_id = s2.user_id group by s2.user_id)
> 1 group by user_id order by user_id;
我本来希望这个更新能够工作:
update mytable set join_status = 1 where date_created =
(select min(date_created) from mytable s1 where
(select count(1) from simplepay_payment s2 where
s1.user_id = s2.user_id group by s2.user_id)
> 1 group by user_id);
但是给出了以下错误:
ERROR: more than one row returned by a subquery used as an expression
我尝试了几种不同的解决方案,但似乎没有任何帮助。
有人对我有什么想法吗?
再次感谢。