"Top 12" - Table tennis - "All against all"

After the 66 matches, there can be groups of players who have the same
number of won matches, sets and balls.

----------------
The players ( 0 to 12!) in one such group are separated according to mutually
meeting.
Of course there can be cycles (whose players will be assigned the same final
score). But even then there is a hierarchically order among cycles and non-
cycle parts of this group.

Algorithm for this?
------------

Example:
Let {1,2,3,4,5,6,7} be such a subgroup.
Say that the mutual matches resulted in:
1->2, 2->3, 3->1,
1->4, 2->4, 3->4,
1->5, 2->5, 3->5, 4->5,
1->6, 2->6, 3->6, 4->6,
1->7, 2->7, 3->7, 4->7,
5->6, 6->7, 7->5
Then the hierarchy for this subgroup is
1,2,3
4
5,6,7
------------------
(I will use this in a Microsoft Access database, using VBA)