SELECT id, m.data, m.user_id, m.status,
(SELECT COUNT(1) FROM likes l WHERE l.meme_id = m.id),
(SELECT COUNT(1) FROM comments c WHERE c.meme_id = m.id),
(SELECT COUNT(1) FROM saves s WHERE s.meme_id = m.id),
(SELECT COUNT(1) FROM likes l
join users u on l.user_id = u.id
and u.id = 1
WHERE l.meme_id = m.id),
(SELECT COUNT(1) FROM views v WHERE v.meme_id = m.id)
FROM memes m
where m.status = 'accepted'
ORDER BY RANDOM() LIMIT 1; localStorage.game = JSON.stringify({username: "John", score: 1200, time: 123});
// немного позже
let game = JSON.parse( localStorage.game );
alert( game.username ); // John
Вариант А. foo - строго на нулевом месте, bar - на первом, baz - на втором, остальные элементы - после (перед).
Вариант Б. foo всегда выше чем bar и baz, bar выше чем baz, остальные элементы - можно вставлять в любое место.
PS: А если серьезно, то есть функция usort, с помощью нее вы сами устанавливаете отношение между любыми двумя взятыми элементами.