Let\'s say I have a table with karma_up and karma_down. Everytime someone votes up karma_up gets incremented and everytime someone votes down karma_down gets incremented on
Does this work? If not, could you include the results in your question? Ordering on an expression ought to work as expected.
SELECT `post_id`, `karma_up`, `karma_down`, `karma_up` - `karma_down` AS `total` ORDER BY `total` DESC