Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MariaDb não suporta a função ANY_VALUE()


Por hoje, você resolveu o problema. Mas amanhã, quando você executar a mesma consulta, receberá um erro diferente.

Em versões mais antigas do MySQL ou MariaDB, você obteria "qualquer valor" para price_available quando não GROUPing BY isto. Isso estava efetivamente em algum lugar entre "má prática" e uma "violação de padrões". Relativamente recentemente, o MariaDB, depois o MySQL, mudou para "somente grupo completo por". Nesse momento, ANY_VALUE() surgiu para o MySQL, mas aparentemente o MariaDB deixou cair a bola.

A solução alternativa antiga, que deve ser segura para versões antigas e novas, é usar MIN(price_available) ou alguma outra função agregada. (Se a coluna tiver NULL , os vários agregados podem ou não manipular NULL do jeito que você preferir.)

Veja também o ONLY_FULL_GROUP_BY contexto.