2010-02-13 7 views
2

J'ai une table de "jeux" qui contient player_id et player_action.Sélectionnez un enregistrement pour les conditions

player_id | player_action 
1   | move 
1   | move 
1   | attack 
2   | attack 
2   | attack 
3   | move 
3   | move 

Et je dois obtenir tous les joueurs avec « bouger » l'action, mais une seule ligne par joueur, résultat devrait ressembler à

1 | move 
3 | move 

quelqu'un aurait une idée sur la façon d'y parvenir?

Répondre

2

Il semble que vous avez l'intention de faire ce qui suit:

SELECT 
    player_id, player_action 
FROM 
    games 
WHERE 
    player_action = 'move' 
GROUP BY 
    player_id 
0
select distinct player_id, player_action from games where player_action = "move" 
+0

-t-il supprimer les doublons également player_action? – oneat

0

Utilisez la clause DISTINCT:

SELECT DISTINCT player_id, player_action FROM games WHERE player_action = 'move'; 

La clause distincte supprimera les doublons. (Je suis sûr qu'il ya beaucoup d'autres solutions à ce sujet.)

+0

Supprime-t-il également les doublons dans player_action? – oneat

+0

Ne fonctionne pas .. –

+0

DISTINCT doit supprimer tous les cas où la combinaison de * à la fois * player_id et player_action n'est pas unique. (Je n'ai pas testé cette requête spécifique, mais je pense que c'est comme ça qu'elle va se comporter.) @kemp: Je pourrais certainement avoir fait une erreur: Pouvez-vous me dire ce qui ne fonctionne pas? –

Questions connexes