2

この議論がこのサイトで何度も取り上げられていることは知っていますが、有効な解決策が見つからないので、私の特定のケースをあなたに投稿しようと思いました。

前夜の平均評価の20%を下回った曲を除外する必要があるフェスがあります。

私はこれで試しました:

DELETE FROM concorre AS C 
WHERE C.dataSer='2014-02-24' 
AND C.votoTot<(SELECT AVG(B.votoTot) 
               FROM concorre AS B 
               WHERE B.dataSer='2014-02-23')/5 

「同じテーブルの問題」は解決しますが、それでもエラーが発生します。

#1064 - SQL 構文にエラーがあります。1 行目の 'AS C WHERE C.dataSer='2014-02-24' AND C.votoTot<(SELECT AVG(votoTot) FROM concor' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

2 に答える 2

0

これを試して

DELETE c FROM concorre C 
JOIN (SELECT AVG(B.votoTot) average FROM concorre B WHERE B.dataSer='2014-02-23') d
WHERE C.dataSer='2014-02-24' 
AND C.votoTot < d.average /5 
于 2014-03-03T12:14:01.243 に答える