例如:(以下排序均按order by rootid+(1-sign(rootid))*lybid desc,orderstr,id desc排序) id rootid orderstr 1 0 空串 2 1 z ——回復根貼,使用串z初始化排序字串 ___________________ 3 1 y ——回復1,將排在1后面的排序字符串的最后一個字符z的ascii碼減1,組成新的排序串。
排序結果為: id rootid orderstr 1 0 空串 3 1 y 2 1 z ___________________ 4 1 x ——回復1貼,排序字符串求法同上
排結果為: id rootid orderstr 1 0 空串 4 1 x 3 1 y 2 1 z ___________________ 5 1 xz ——回復4貼,檢查4貼是否已經有回復,現沒有,初始化排序串第二個字符(在4后加上z)
排序結果為: id rootid orderstr 1 0 空串 4 1 x 5 1 xz 3 1 y 2 1 z ___________________ 6 1 xy ——回復4貼,將4貼的第一子貼的排序字串最后一個字符的ascii碼減1
排序結果為: id rootid orderstr 1 0 空串 4 1 x 6 1 xy 5 1 xz 3 1 y 2 1 z
這樣,根據orderstr和len(orderstr)——深度結合就實現了樹狀結構。 id orderstr 1 空串 4 x 6 xy 5 xz 3 y 2 z