选择min(ID),每个数字都有多个ID的数字

时间:2016-02-26 10:25:08

标签: sql oracle

我有2个表,每个数字都包含公共ID。 table1只包含1行,每行包含一个ID。基于这个数字和相应的ID,我想在table2找到最小ID,并为每个数字(第一个表)显示这个唯一的ID。 table2包含多个ID(对于table1的数量)。

我的SQL就像:

select table1.ID, table1.number 
from table1, table2 
where table2.ID = table1.ID 
and table1.number in (<list of comma separated numbers>);

但是这会返回每个数字的所有ID,因此每个数字都有多行,所有ID都符合我的条件。

- &GT;我只需要显示每个数字的最小ID。

谢谢。

1 个答案:

答案 0 :(得分:1)

从您的文字说明中,例如:

SELECT MIN( t2.ID ) AS min_id,
       t1.number 
FROM   table1 t1
       INNER JOIN
       table2 t1
       ON ( t2.ID = t1.ID )
WHERE  t1.number in (<list of comma separated numbers>)
GROUP BY t1.number;

然而,如果没有一些样本数据是很难说的。