SQL: SELECT DISTINCT , 2 requêtes SELECT ? [Résolu]

Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012
- - Dernière réponse : audiogenic
Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012
- 11 mars 2012 à 18:41
Bonsoir, je cherche à obtenir aucun doublon sur les "ip" en les classant par "date" et "heure" DESC

SELECT DISTINCT ip,date,heure FROM table ORDER BY date,heure DESC

renvoie :

208.80.194.71 20120305 230529
66.249.72.59 20120305 211349
213.138.101.228 20120305 182150
213.138.101.228 20120305 182142


je pense qu'il me faut 2 requêtes SELECT mais je ne sais pas comment faire. L'idéal serait d'avoir une seule requête avec 2 SELECT.
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14565
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 octobre 2019
136
3
Merci
Bonjour,

Peut être acte un truc du genre :
SELECT Dinstinct IP, (SELECT Top 1 Date From Matable T WHERE T.IP=MaTable.IP ORDER BY Date DESC) As DateIp FROM MaTable

A tester.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012
3
Merci
Merci, j'y suis arrivé :

SELECT DISTINCT ip, (

SELECT MAX( DATE )
FROM table T
WHERE T.ip = table.ip
) AS newdate, (

SELECT MAX( heure )
FROM table T
WHERE T.ip = table.ip
) AS newheure
FROM table
ORDER BY newdate DESC , newheure DESC

77.88.25.27 20120306 152403
208.107.186.74 20120306 081834
193.252.149.16 20120306 003704
208.80.194.71 20120305 230529
66.249.72.59 20120305 211349
213.138.101.228 20120305 182150

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de audiogenic
Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012
0
Merci
La réponse est surement très simple mais ça fait 2 heures que je cherche...
Commenter la réponse de audiogenic