为条件选择一条记录
我有一个“游戏”表,其中包含player_id
和player_action
。为条件选择一条记录
player_id | player_action
1 | move
1 | move
1 | attack
2 | attack
2 | attack
3 | move
3 | move
而且我一定要得到与“移动”操作的所有球员,但每名球员只有一行, 结果应该看起来像
1 | move
3 | move
会有人有关于如何实现这一点的想法?
看起来你打算做到以下几点:
SELECT
player_id, player_action
FROM
games
WHERE
player_action = 'move'
GROUP BY
player_id
select distinct player_id, player_action from games where player_action = "move"
使用DISTINCT子句:
SELECT DISTINCT player_id, player_action FROM games WHERE player_action = 'move';
distinct子句将删除重复的记录。 (我敢肯定,还有很多其他的解决方案这一点。)
它是否会删除player_action中的重复内容? – oneat 2010-02-13 14:26:27
不起作用.. – 2010-02-13 14:28:38
DISTINCT应删除* * player_id和player_action的组合不唯一的任何情况。 (我没有测试过这个具体的查询,但我认为这就是它的行为。)@kemp:我当然可能犯了一个错误:你能告诉我什么不起作用吗? – 2010-02-13 14:30:08
是否也删除重复的player_action? – oneat 2010-02-13 14:27:34