J'arrive pas à trouver ma requête! [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 22-01-2004 à 16:41:45
Effectivement là ça m'affiche la date max pour chaque utilisateur mais ce que je veux moi c pas la date mais le message et j'y arrive po, merci quand meêm
Marsh Posté le 22-01-2004 à 16:46:15
Bah non... il me file max date correctement mais le message c le premier qu'il trouve. normal d'ailleurs quand on y pense
Marsh Posté le 22-01-2004 à 16:46:24
A tenter
SELECT * FROM table HAVING MAX(date) GROUP BY id
Marsh Posté le 22-01-2004 à 16:50:32
g déjà essayé mais il faut une condition à HAVING genre HAVING MAX(date) > 0 mais bon là c pas le bon truc
Marsh Posté le 22-01-2004 à 16:52:56
C'est un problème connu
Il existe un "truc" mais bon, ca vaut ce que ca vaut (les puristes vont m'écharper mais tant pis ) :
SELECT user_id, max(concat(date, message))
FROM table
GROUP BY user_id
Marsh Posté le 22-01-2004 à 16:56:03
LOL! ça marche!!! merci !!!
m'en fou des principes... si ya pas d'autres solutions je prend!
Marsh Posté le 22-01-2004 à 17:04:23
mrbebert > tu peux choisir ta mort : ecrasé sous un serveur, ou pendu à un câble réseau ?
ton truc marche, mais t'as pas intérêt à avoir trop de lignes dans la base hein ?
Marsh Posté le 22-01-2004 à 17:06:15
Un truc un peu plus propre (au moins la concaténation porte pas sur un gros volume de données )
Mais il faut que le SGBD supporte les requêtes imbriquées.
|
Marsh Posté le 22-01-2004 à 18:12:05
art_dupond a écrit : c'est quoi les || ? |
dans les vrais SGDB, c'est la concaténation.
dans MySQL, c'est 'OR'
Marsh Posté le 06-02-2004 à 13:47:48
Bonjour à tous,
Pour une requête sans concaténation essai qqchose comme ça.
SELECT A.USER_ID , A.MESSAGE
FROM NOM_TABLE A,
(SELECT USER_ID as ID1 ,max(DT_MESSAGE) as DT_MAX
FROM NOM_TABLE B
GROUP BY USER_ID)
where a.USER_ID = ID1
and A.DT_MESSAGE = DT_MAX
ou créer une vue qui fait la requête
SELECT USER_ID as ID1 ,max(DT_MESSAGE) as DT_MAX
FROM NOM_TABLE B
GROUP BY USER_ID
Marsh Posté le 22-01-2004 à 16:28:42
Bon alors voilà, j'ai une table qui contient l'id de l'utilisateur, la date de l'insertion de la ligne, le message entré dans la base de données et je cherche désepérement la requête qui m'affichera le dernier message sauvegardé de tout les id utilisateurs ( une par id ).... mais je trouve pas.... ça me déprime ça m'est pas encor arrivé et là c le coup dur suis sûr que c rien à faire mais là je bloque. help