Ordering the results and setting a limit can easily be achieved with 2 additional lines added to the chain, like so:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__users')
->where('username = '. $db->q('John'))
->ord...