Here's my real world:
Classified ads
Category: Transportation
Children: New Cars, Used Cars, Motorcycles....
I initially create the children in increments of 10
10 New Cars
20 Usec Cars
30 Motor Cycles
If new to be appended
SELECT max(sortorder) FROM category WHERE categoryname='Transportation'
Then
INSERT INTO category SET sortorder=$max * 10
etc.
Motorcycles should come before New Cars?
SELECT max(sortorder) FROM category WHERE categoryname='Transportation'
and sortorder < 10
$average=($under10 +10)/2
UPDATE category SET sortorder=$average
etc.
Everything is always ordered, but there is no specific sequence to the ordering
1
5.2
6.66666666
99
101.222222222
101.23
101.23333
19999.0020
etc.
I don't care how people move items around.
I think I use decimal 5,10 for my columntype