Oracle SQL 排序组
Oracle SQL Sort Groups
我有一个查询 returns PartNum
、OrderNum
和 NeedDate
:
Part Order Date
1 A 8/1
2 B 6/3
2 C 1/1
3 D 7/1
3 E 6/1
我需要将其排序为:
Part Order Date
2 C 1/1
2 B 6/3
3 E 6/1
3 D 7/1
1 A 8/1
基本上,我需要将它们按部分# 分组,并按每个部分的最短日期排序。是否可以通过一个查询来完成此操作?
您可以使用解析函数将最小值 NeedDate
关联到每个 PartNum
组,然后对其进行排序:
SELECT PartNum, OrderNum, NeedDate
FROM SomeTable
ORDER BY MIN(NeedDate) OVER (PARTITION BY PartNum), PartNum
编辑: 谢谢 Bulat
SQLFiddle link。 :)
我有一个查询 returns PartNum
、OrderNum
和 NeedDate
:
Part Order Date
1 A 8/1
2 B 6/3
2 C 1/1
3 D 7/1
3 E 6/1
我需要将其排序为:
Part Order Date
2 C 1/1
2 B 6/3
3 E 6/1
3 D 7/1
1 A 8/1
基本上,我需要将它们按部分# 分组,并按每个部分的最短日期排序。是否可以通过一个查询来完成此操作?
您可以使用解析函数将最小值 NeedDate
关联到每个 PartNum
组,然后对其进行排序:
SELECT PartNum, OrderNum, NeedDate
FROM SomeTable
ORDER BY MIN(NeedDate) OVER (PARTITION BY PartNum), PartNum
编辑: 谢谢 Bulat
SQLFiddle link。 :)