我知道这个论点已经在这个网站上解决了很多次,我只是找不到一个可行的解决方案,所以我想我会把我的具体案例发布给你,也许你可以帮助我......
我有一个音乐节,我需要从中剔除低于前一天晚上平均评价 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 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'AS C WHERE C.dataSer='2014-02-24' AND C.votoTot<(SELECT AVG(votoTot) FROM concor' 附近使用正确的语法