id game point
1 x 5
2 y 4
3 z 6
4 x 2
5 y 5
6 z 8
我想在游戏x,游戏y,游戏z中选择最小点的记录
答案 0 :(得分:2)
如果您想要整个记录,您还需要做更多的工作:
context = self._context.get('active_ids')
或者您可以使用CTE或窗口函数。
答案 1 :(得分:0)
将MIN
汇总功能与GROUP BY
一起使用。
<强>查询强>
select game, min(point) as minPoint
from your_table_name
group by game;
答案 2 :(得分:0)
使用group by的聚合函数,试试这个:
select game, MIN(point)
from Table_name
group by game;
您可以命名聚合函数
select game, MIN(point) as Minimum_Points
from Table_name
group by game;
答案 3 :(得分:0)
我想即使没有@ProjectPhase
,如何查找所需的所有值(所有属性)的最简单方法如下:
GROUP BY
答案 4 :(得分:0)
你也可以使用over partition by。
查询:
select id,game,min_point from (
select id, GAME, POINT,min(POINT) over (PARTITION by GAME) as MIN_POINT
from YOUR_TABLE) where point = min_point
结果:
id game min_point
1 x 2
2 y 4
3 z 6
答案 5 :(得分:0)
这里有很多答案,但由于我们不知道哪个dbms OP正在使用,我会选择最常见的答案:
select t1.id, t1.game. t1.point
from tablename t1
join (select game, min(point) as minpoint
from tablename
group by game) t2
on t1.game = t2.game
and t1.point = t2.minpoint
使用GROUP BY
创建派生表(即子查询)以查找每个游戏的最小点数。结果为JOIN
。
答案 6 :(得分:0)
在Oracle中,可以这样做: -
select id,game,point As MinPoint
from table_name where
point in (select min(point) from table_name group by game);
类似数据的输出如下: -
从sql_prac中选择*;
ID DEPT SAL
1 A 2000
2 B 200001
3 C 200100
4 D 200050
5 A 205000
6 B 260000
7 C 200007
8 D 202000
9 R 2006600
选择了9行
选择id,game,point As MinPoint 来自sql_prac在哪里 指向(从游戏中选择sql_prac组中的min(point));
ID DEPT MINPOINT
1 A 2000
2 B 200001
4 D 200050
7 C 200007
9 R 2006600
答案 7 :(得分:0)
您应该在简单查询下运行:
select game, min(point) point from [table_name] group by game