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

audiogenic 23 Messages postés jeudi 23 février 2012Date d'inscription 11 mars 2012 Dernière intervention - 10 mars 2012 à 20:27 - Dernière réponse : audiogenic 23 Messages postés jeudi 23 février 2012Date d'inscription 11 mars 2012 Dernière intervention
- 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 

Votre réponse

3 réponses

Meilleure réponse
NHenry 14260 Messages postés vendredi 14 mars 2003Date d'inscription 16 septembre 2018 Dernière intervention - 11 mars 2012 à 01:05
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

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de NHenry
Meilleure réponse
audiogenic 23 Messages postés jeudi 23 février 2012Date d'inscription 11 mars 2012 Dernière intervention - 11 mars 2012 à 18:41
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

Merci audiogenic 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.