mnesiaからオブジェクトをソートして得るには
qlc:sort()関数を使えば実現できます。例えば以下のようなRecordがあったとして、
-record(sample, {id, name, sort_order}).
sort_orderでソートした結果を得るには、以下のような感じになります。
mnesia:transaction(fun() -> QH1 = qlc:q([X || X Sample1#sample.sort_order < Sample2#sample.sort_order end), qlc:e(QH2) end).
qlc:sort()でラップしてあげる感じですね。