OVH Cloud OVH Cloud

requete (maximum)

1 réponse
Avatar
Max
Bonjour,

Je veux les transactions et les codes pour lesquelles le niveau est maximum
et la version maximum, sachant que la version est prioritaire.

Transaction Niveau Version code

teti 0 1 A

titi 1 2 A

tuta 0 1 B

tata 1 1 B

toto 0 1 C

tuto 1 1 C





renvoie:



titi 1 2 A

tata 1 1 B

tuto 1 1 C


La requête:
select a.transaction,max(version),max(niveau)
from ma_table a
group by a.transaction

fait très bien l'affaire mais comment l'adapter si je veux recuperer une 4
eme colonne ?
La requête:
select a.transaction,max(version),max(niveau), a.code,
from ma_table a
group by a.transaction, a.code


produit des resultats faux bien sûr.

Merci de votre aide

1 réponse

Avatar
Sébastien Chavance
a noter que cette requete ne fonctionnera pas sous MySQL qui n'aime pas les
sous-requetes (sauf peut etre en version 4)
dans ce cas 2 requetes sont necessaires

Fred BROUARD - SQLpro a écrit dans le message :

SELECT Transaction, MAX(Niveau) as Niveau, Version, Code
FROM (SELECT Transaction, Niveau, MAX(Version) AS Version, Code
FROM MaTable
GROUP BY Transaction, Niveau, Code) T
GROUP BY Transaction, Version, Code


--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************

Max a écrit:
> Bonjour,
>
> Je veux les transactions et les codes pour lesquelles le niveau est


maximum
> et la version maximum, sachant que la version est prioritaire.
>
> Transaction Niveau Version code
>
> teti 0 1 A
>
> titi 1 2 A
>
> tuta 0 1 B
>
> tata 1 1 B
>
> toto 0 1 C
>
> tuto 1 1 C
>
>
>
>
>
> renvoie:
>
>
>
> titi 1 2 A
>
> tata 1 1 B
>
> tuto 1 1 C
>
>
> La requête:
> select a.transaction,max(version),max(niveau)
> from ma_table a
> group by a.transaction
>
> fait très bien l'affaire mais comment l'adapter si je veux recuperer une


4
> eme colonne ?
> La requête:
> select a.transaction,max(version),max(niveau), a.code,
> from ma_table a
> group by a.transaction, a.code
>
>
> produit des resultats faux bien sûr.
>
> Merci de votre aide
>
>
>