Sorry guys, this line:
>> ORDER BY (if(folderid < 0) then return(abs(folderid)) else
>> return(folderid+max(abs(MIN(folderid)))))

Should have read:
ORDER BY (if(folderid < 0) then return(abs(folderid)) else
return(folderid+abs(MIN(folderid))))

The max was an error.

MikeA

>> 
>> Why don't you adjust the ids of your system folders, such 
>> that they are
>> ordered properly?  You should have a fixed number of system 
>> folders, so you
>> can guarantee the ids that they will receive.  So make the 
>> Inbox -4.  Then
>> you just order by folder id, ascending.  -4 comes first, 
>> with the user
>> folders always coming after the system folders.
>> 
>> Alternatively, you can sort by an expression, something like:
>> 
>> ORDER BY (if(folderid < 0) then return(abs(folderid)) else
>> return(folderid+max(abs(MIN(folderid)))))
>> 
>> What this does is shift all the ids up to ensure that they 
>> all fall into the
>> positive range, while inverting the order of the negative 
>> ids, which seems

Fri, 16 Jul 1999 12:01:26 +0200
"Ansley, Michael" <Michael.Ansley@intec.co.za>
RE: [HACKERS] Counting bool flags in a complex query 