根据其他列

时间:2018-05-28 02:47:11

标签: sql oracle

我正在尝试对列进行排序,假设我有Name,Account_Number列,Account_Number应该依赖于Name列。

Name  Account_Number Relationship Sex
John  101            M            M
John  102            M            M
Mary  102            J            F
Seth  102            J            F
John  103            M            M
Joy   99             M            M
Eles  99             J            F
Joy   100            M            M
Sarn  98             M            M
Sarn  106            M            M
Mary  106            J            F

在以下示例中,John有3个帐户,但其中一个帐户有2个合作伙伴(Mary和seth)。

我怎么能在oracle中存档这样的东西?请帮忙。

2 个答案:

答案 0 :(得分:0)

不确定您期望的结果。

您可以使用具有最高优先级列的order by子句,然后使用第二列。

如果上面的表格符合您的预期,那么下面的查询将会这样做。

select * from <tableName> order by Account_Number,Name;

答案 1 :(得分:0)

你可以自己使用JOIN表,只选择sub并按主查询排序

SELECT s.name, s.acc, s.rel, s.sex FROM public.cif m
JOIN (SELECT name, acc, rel, sex FROM public.cif) s ON m.acc = s.acc
WHERE m.rel = 'M'
ORDER BY m.name, m.acc