SELECT *
FROM
(
SELECT str, 0 AS SortType,
ROW_NUMBER() OVER(ORDER BY str ASC) AS RN
FROM test_str
UNION ALL
SELECT str, 1 AS SortType,
ROW_NUMBER() OVER(ORDER BY str DESC) AS RN
FROM test_str
) AS m
WHERE m.SortType = 0 -- 0 - ASC, 1 - DESC
ORDER BY m.SortType, m.RN