选择具有唯一ID的行

时间:2014-12-03 23:21:20

标签: sql qsqlquery

我需要从两个数据集中选择最后一行。我需要main_IDkey_ID。但是,main_ID通常会有多个key_ID ..除了这两行外,我还需要地址插入日期和名称。

数据来自第一个包含key_IDMain_ID的表,第二个连接表的名称包含main_ID地址和insertion_date ...第二个表没有key_ID

一个例子是:

main_ID   Key_ID  address insertion_date    name
---------------------------------------------------    
123        200    26t      10/09          Hale T.
123        200    26h      10/10          Hale T.
567        200    26h      10/10          Hale T.

我想在显示所有列的情况下拉出Key_ID的最后一行。

所以我的最终输出应该显示:

main_ID  Key_ID  address insertion_date name
--------------------------------------------------
567        200    26h      10/10          Hale T.

1 个答案:

答案 0 :(得分:0)

您可以使用窗口/分析函数或使用聚合来执行此操作:

select t.*
from (select t.*, count(*) over (partition by main_id) as cnt
      from table t
     ) t
where cnt = 1;