Afficher lignes en fonction des maximums d'une colonne
dna.factory
Messages postés
26054
Date d'inscription
Statut
Modérateur
Dernière intervention
-
dna.factory Messages postés 26054 Date d'inscription Statut Modérateur Dernière intervention -
dna.factory Messages postés 26054 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Bon déja ma question n'est pas claire... je m'en excuse, c'est aussi une des raisons pour laquelle j'ai besoin de votre aide (google c'est bien quand on sait ce qu'on veut, mais quand on ne sait pas, c'est plus compliqué).
j'ai une table formaté de la façon suivante :
quelques précisions :
un client peut être présent 1 ou n fois
chaque tuple (client, valeur) ne peut être présent qu'une seule fois
la valeur de valeur est abstraite.
J'ai mis des ids clients par simplicités, mais il s'agit de noms
Je l'ai pas mis dans mon affichage, mais j'ai évidement une clé primaire en auto-increment qui peut être utilisée si nécessaire (elle s'appellera id)
ce que je veux, pour chaque client, afficher une seule ligne, celle pour la quelle la date est la plus élevée.
Je fais des tests sous postgres, mais le résultat ne doit pas être dépendant du langage.
J'ai essayé avec des sous requêtes (en particulier la sous requête select nom, max(date) from table group by 1), mais le problème, c'est qu’apparemment, aucune sous requête n’accepte plusieurs lignes ET plusieurs colonnes.
Stop failing the turing test !
Bon déja ma question n'est pas claire... je m'en excuse, c'est aussi une des raisons pour laquelle j'ai besoin de votre aide (google c'est bien quand on sait ce qu'on veut, mais quand on ne sait pas, c'est plus compliqué).
j'ai une table formaté de la façon suivante :
client | valeur | date
1 | 2 | 05/05
1 | 3 | 06/05
2 | 4 | 04/04
2 | 2 | 05/07
3 | 4 | 04/06
quelques précisions :
un client peut être présent 1 ou n fois
chaque tuple (client, valeur) ne peut être présent qu'une seule fois
la valeur de valeur est abstraite.
J'ai mis des ids clients par simplicités, mais il s'agit de noms
Je l'ai pas mis dans mon affichage, mais j'ai évidement une clé primaire en auto-increment qui peut être utilisée si nécessaire (elle s'appellera id)
ce que je veux, pour chaque client, afficher une seule ligne, celle pour la quelle la date est la plus élevée.
client | valeur | date
1 | 3 | 06/05
2 | 2 | 05/07
3 | 4 | 04/06
Je fais des tests sous postgres, mais le résultat ne doit pas être dépendant du langage.
J'ai essayé avec des sous requêtes (en particulier la sous requête select nom, max(date) from table group by 1), mais le problème, c'est qu’apparemment, aucune sous requête n’accepte plusieurs lignes ET plusieurs colonnes.
Stop failing the turing test !
A voir également:
- Afficher lignes en fonction des maximums d'une colonne
- Déplacer une colonne excel - Guide
- Fonction si et - Guide
- Trier une colonne excel - Guide
- Partager des photos en ligne - Guide
- Colonne word - Guide
Je mettrais plutôt :
cdlt
Au passage, j'ai fait super morche..
je concatène mes deux champs dans une première vue, et je sépare dans une deuxième, mais du coup ça restreint au langage de programmation (car la gestion de chaine de caractère, ça a tendence à être super spécifique);