select
picks.`fbid`,
picks.`time`,
categories.`name` as cname,
options.`name` as oname,
users.`name`
from
picks
left join categories
on (categories.`id` = picks.`cid`)
left join options
on (options.`id` = picks.oid)
left join users
on (users.fbid = picks.`fbid`)
order by
time desc
that query returns a result that like:

my question is…. I would like to modify the query to select only DISTINCT fbid’s. (perhaps the first row only sorted by time)
can someone help with this?
I don’t know why you originally had LEFT JOINs, as it appears that all picks must be associated with a valid category, option and user… I would then remove the left, and change them to INNER joins instead.
The first inner query grabs for each fbid, the FIRST entry time which will result in a single entity for the FBID. From that, it re-joins to the picks table for the same ID and timeslot… then continues for the rest of the category, options, users join criteria of that single entry.