Précédent   Forum du club des développeurs et IT Pro > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/02/2013, 14h41   #1
cool-man
Invité de passage
 
Inscription : octobre 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 9
Points : 1
Points : 1
Par défaut Avoir toutes les actions données par les trois derniers utilisateurs pour chaque post

Bonjour,

J'ai une table history, qui continent toutes les actions données par les utilisateurs sur plusieurs post

Exemple de la table history
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
     id     | post_id | action    |  user_id
     1      |  5      | 1         |  3
     1      |  23     | 2         |  1
     2      |  24     | 2         |  6
     3      |  34     | 1         |  7
     4      |  35     | 1         |  1
     5      |  36     | 1         |  1
     6      |  23     | 2         |  3
     7      |  24     | 2         |  1
     8      |  23     | 1         |  4
     9      |  24     | 1         |  5
     10     |  24     | 1         |  1
     11     |  23     | 1         |  2
     12     |  23     | 4         |  1
Ce que je veux c'est avoir toutes les actions données par les trois derniers utilisateur pour chaque post

Voici le résultat de mes essai, ça me renvoi des résultat dupliqué

Merci
cool-man est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2013, 05h31   #2
ericd69
Expert Confirmé
 
Avatar de ericd69
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 1 802
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 1 802
Points : 3 096
Points : 3 096
salut,

une piste tu dois utiliser group by post_id et having count(user_id)=3

à partir de là, la syntaxe est pas très dur à trouver...
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2013, 17h37   #3
cool-man
Invité de passage
 
Inscription : octobre 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 9
Points : 1
Points : 1
J'ai trouver la solution a mon problème, sqlfiddle.com, sauf que la ça marche très bien sur le sqlfiddle, mais ça me donne un toute autre résultat sur mon serveur wamp 2.2, mysql version 5.5.24

je suis un peu perdu la
cool-man est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2013, 17h51   #4
ericd69
Expert Confirmé
 
Avatar de ericd69
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 1 802
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 1 802
Points : 3 096
Points : 3 096
Code sql :
1
2
3
4
SELECT post_id,actions
FROM tatable
GROUP BY post_id
HAVING count(user_id)=3

vu que tu n'as rien qui détermine un ordre comme une date à priori...
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h18.


 
 
 
 
Partenaires

Hébergement Web