リーリー
update table_user set vip = 1 where id in (select * from (SELECT a.shangjiaid FROM
table_user as a GROUP BY a.shangjiaid having count(1) >= 3) as b)
もっと良い解決策があるはずだと感じています。 。
もう 1 つの提案として、今後リズが質問するときは、テーブル作成ステートメントとデータ入力ステートメントを投稿するのが最善です。これにより、時間を大幅に節約できます。もしかしたらもっと答えがあるかもしれません。
update table set vip=1 where id=(shangjiaid from (shangjiaid が count()>2 であることによってテーブル グループから を選択) これはおそらくアイデアです。SQL が間違っている可能性があります。ご自身の目で確認してください。
このような複雑なステートメントを分割できます。私の意見では、この複雑な SQL ステートメントを 1 つのステップで完了すると、データ量が大きい場合は特にビジネスが行き詰まってしまいます。
まず、どの ID に 3 つ以上の販売者 ID があるかを数え、それが不可能な場合は、キューを追加することもできます。これはビジネスにとってより良いはずです。