select
p2.fbid,
p2.time,
c.`name` as cname,
o.`name` as oname,
u.`name`
from
( select p1.fbid,
min( p1.time ) FirstTimePerID
from picks p1
group by p1.fbid ) as FirstPerID
JOIN Picks p2
on FirstPerID.fbid = p2.fbid
AND FirstPerID.FirstTimePerID = p2.time
LEFT JOIN Categories c
on p2.cid = c.id
LEFT JOIN Options o
on p2.oid = o.id
LEFT JOIN Users u
on p2.fbid = u.fbid
order by
time desc
Я не знаю, почему у вас изначально были ЛЕВЫЕ СОЕДИНЕНИЯ, так как кажется, что все выборы должны быть связаны с действительной категорией, опцией и пользователем ... Я бы тогда удалил левую и вместо этого изменил бы их на ВНУТРЕННИЕ объединения.
Первый внутренний запрос захватывает для каждого fbid время ПЕРВОГО входа, что приводит к единственному объекту для FBID. После этого он снова присоединяется к таблице выбора для того же идентификатора и временного интервала ... затем продолжается для остальной части категории, параметры, пользователи присоединяются к критериям этой единственной записи.