2 posibilities.
Are you using the date in the premium field? If not, make it a boolean and then when you sort, all premium would be the same to and the sort would go on joindate.
If you are using the date in the premium field, the other solution I think is a UNION or a JOIN. Basically 2 queries that get put together one after the other. I haven't done much with it, but I think the syntax would be something like....
SELECT
FROM table
WHERE premium <> 0
ORDER BY joindate
UNION
SELECT
FROM table
WHERE premium = 0
ORDER BY joindate
I know syntax is not correct, but the idea is there.