Erro com select

Home Fóruns PHP/MYSQL Erro com select

Visualizando 1 resposta da discussão
  • Autor
    Posts
    • #154761

      Na aula 12 do MySQL 00 ele usa a seguinte query:

      select nome, min(totaulas) from cursos;

      mas pra mim segue retornando o seguinte erro:

      16:22:26 select nome, min(totaulas) from cursos LIMIT 0, 1000 Error Code: 1140. In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column ‘cadastro.cursos.nome’; this is incompatible with sql_mode=only_full_group_by 0.000 sec

    • #154791
      Tutora Jessica
      Moderador

      Olá Guilherme, peço para que quando for compartilhar sua dúvida coloque seu código completo para análise, para isso você cola seu código no campo do fórum, selecione o por completo e clique em CODE, dessa forma consigo lhe ajudar melhor.

      Esse é um erro de banco de dados por atualização das versões, você pode fazer de duas formas , todos os campos que estiverem no SELECT e não estiverem utilizando funções (como COUNT, SUM, AVG, MAX, MIN, etc.) devem estar na cláusula GROUP BY.

      No seu caso, você pode utilizar da seguinte forma: select nome, min(totaulas) from cursos group by nome;

      Ou, você também pode tentar desabilitar o sql_mode, dessa forma:

      mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

      Isso afetará todas as consultas na sua sessão e é uma alteração temporária. O modo SQL será redefinido para seu estado original após você reiniciar o serviço MySQL.

Visualizando 1 resposta da discussão
  • Você deve fazer login para responder a este tópico.