一个表上的SQLite SELECT语句

时间:2013-11-09 23:14:42

标签: mysql sql sqlite select

我有colums表:game-type-score-time,我希望在游戏的一个taype中选择最佳分数。在那个分数上,我希望在特定游戏,类型和分数上获得最低时间。

我和小组一起玩,但我没有得到我想要的东西。

SELECT game, type, MAX(score),MIN(time)
FROM table
GROUP BY game,type 

我想要的: 如果这是我的表:

 0/1/0/672
 0/1/0/749
 0/1/1/2091
 0/1/1/3252

 0/5/0/5088
 0/5/0/5504
 0/5/1/6482
 0/5/2/9408
 0/5/2/24616
 0/5/3/6592 
 0/5/4/8706

 1/1/0/700
 1/1/1/1151

 1/5/5/4808

 3/1/1/1038

我想要这样的输出:

 0/1/1/2091
 0/5/4/8706
 1/1/1/1151
 1/5/5/4808
 3/1/1/1038

获得此结果最有效的方法是什么?

1 个答案:

答案 0 :(得分:2)

您无法在单个聚合中执行此操作:

SELECT s.game, s.type, s.score, MIN(t.time) AS time
FROM (
    SELECT tt.game, tt.type, MAX(tt.score) AS score 
    FROM table tt 
    GROUP BY tt.game, tt.type
) s 
INNER JOIN table t ON s.game = t.game AND s.type = t.type AND s.score = t.score
GROUP BY s.game, s.type, s.score