J'ai besoin de connaître l'équipe ayant le plus grand nombre de correspondances dans une certaine ville.MySQL Utilisation non valide de la fonction de groupe sur l'hôte partagé
SELECT COUNT(am_matches.team_id) AS matches_count,
am_matches.team_id AS team_id
FROM am_matches
LEFT JOIN am_team ON (am_matches.team_id = am_teams.id)
WHERE am_matches.status = '3' AND am_teams.city_id = '$city_id'
GROUP BY am_matches.team_id
ORDER BY COUNT(am_matches.team_id) DESC LIMIT 1
Cela fonctionne sur un serveur local (WAMP), mais sur un hôte partagé throws « Utilisation non valide de la fonction de groupe ». Y a-t-il une autre façon d'obtenir cela? J'ai besoin de faire beaucoup de requêtes similaires, donc je voudrais savoir une approche plus lisible d'obtenir des valeurs similaires. Merci.
Modifier ORDER BY COUNT (am_matches.team_id) 1 à DESC LIMIT ORDER BY 1 LIMIT 1 –
DESC wow! c'était facile .. Que fait le "1"? – JoaoPedro
L'ordre par peut prendre les noms de colonnes ou leur index dans la liste de sélection. Donc, fondamentalement, il fait la même chose mais il ne réévalue pas l'expression de compte et est plus optimisé. –