2017-04-07 94 views
0

有谁知道sql从包含8行的下表中拉出4行? 只需要为每个任意的人一行。 真实数据将成千上万的记录,所以它必须是通用的,只使用ID的名称。Oracle SQL获取唯一记录

table

+0

要提高你的问题的质量首先包括你的表作为该问题的文本,而不是为纽带的图像。这样可以将您的所有信息保存在一个地方,从而更快地审查您的信息。如果您需要显示不容易在问题中复制的信息(例如图表,图形输出等),则图像链接很有用。其次,请详细说明“每个任意人”的含义。第三,用表格显示所需的输出来补充你的样本数据表。 – toonice

+0

谢谢,任意意义对于我来说,在结果集中出现第一或第二位并不重要。我试图发布文本,但它以一种非常难以理解的方式呈现,所以我删除它并发布图像。我必须习惯这个系统,下次再试一次。我很可能会发布示例表创建脚本和示例行插入以使其更容易。 – claghorn

回答

1

你似乎有一个对称的关系。所以,你可以这样做:

select t.* 
from t 
where t.id < t.pid; 
+0

我用这个方法。非常感谢。 – claghorn

0
select 
    ID, 
    FName, 
    LName 
    from your_table 
union 
select 
    PID, 
    PFName, 
    PLName 
    from your_table 
order by 3, 2, 1