0

私は 2 つのテーブルを持っています。1 つには列があります: タイトル、各タイトルの投票を示す投票。これで、列 name と avg_vote を持つ 2 番目のテーブルができました。tb2.avg_vote の値を tb1.vote の平均値に更新したいと考えています。

私は動作しない次のことを試しました:

update tb2, tb1
set tb2.avg_vote = avg(tb1.vote)
where tb2.name = 'user';

次のエラーが表示されます。

エラー コード: 1111。グループ機能の無効な使用

avg() 部分を削除すると機能しますが、平均は得られず、最初の値だけが得られます。

これをどのように解決すればよいですか?

4

1 に答える 1

1

これは役立つかもしれません

update tb2 set avg_vote = (select avg(vote) from tb1) where name = 'user';  
于 2013-04-27T23:27:27.887 に答える