Sua consulta é contra o padrão sql porque você lista colunas na lista de seleção que você não lista na cláusula group by, nem estão sujeitas a funções agregadas, como count(). O MySQL permite essa funcionalidade em determinadas configurações do modo sql.
No entanto, mesmo se esta funcionalidade habilitada, o MySQL tem restrições em os dados escolhidos nos campos não agregados :
Portanto, em vez de usar group by, use a classificação e a cláusula limit para limitar a saída:
select * from job
where type = 1
order by rand()
limit 1
Por favor, note também que este método de seleção aleatória é muito intensivo em recursos, uma vez que o MySQL tem que primeiro ordenar todo o conjunto de resultados sem usar nenhum índice. Existem outras maneiras de selecionar dados aleatoriamente de uma tabela sem usar
order by rand()
.