[RESOLU] Selectionnez valeurs avec MAX() et DISTINCT

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Selectionnez valeurs avec MAX() et DISTINCT

Re: Selectionnez valeurs avec MAX() et DISTINCT

par Ryle » 04 mars 2021, 12:12

Salutations !

Tu es sur la bonne voie et il faut effectivement utiliser le group by quand tu utilises une fonction de groupe comme MAX(), mais tu ne l'utilises pas sur la bonne colonne. Dans le GROUP BY, il te faut liste toutes les colonnes retournées par ton select qui ne sont pas agrégée par une fonction de groupe :) (d'où ton message d'erreur)

SELECT request_number, MAX(time)
FROM answers
GROUP BY request_number

A noter : il n'y a pas besoin de distinct dans ce cas, le group by effectuant déjà cette distinction :)

Selectionnez valeurs avec MAX() et DISTINCT

par Ma8__ » 04 mars 2021, 10:17

Bonjour tout le monde,
je travaille avec PHP et Mysql,

Voici ma table :
Colonne1 Colonne2 Colonne3
valeur 156 abc
valeur 157 xx
valeur1 54 re
valeur1 43 bv
valeur1 76 or
valeur2 65 cv

Ce que je souhaiterais, pour chaque valeur unique dans la Colonne1, avoir la plus haute valeur Colonne2.
Voici ce que je souhaite comme résultats :
Colonne1 Colonne2
valeur 157
valeur1 76
valeur2 65

J'ai essaye pas mal de solution sans résultats! Comme 'SELECT DISTINCT request_number, MAX(time) FROM answers' OU 'SELECT DISTINCT request_number,time FROM answers GROUP BY MAX(time)'

Soit, il y a une erreur de formulation de requete, soit cette erreur : 'In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column ; this is incompatible with sql_mode=only_full_group_by'

Merci pour votre aide,
Cordialement