I think you could do something like this:
Code:
$orderby = "rand(NOW())";
$cutoff = TIMENOW - (30 * 86400); // 86400 = seconds in one day
$lpictures = $db->query_read("
SELECT albumpicture.*, album.*, user.username, user.usergroupid,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "albumpicture AS albumpicture
LEFT JOIN " . TABLE_PREFIX . "album AS album ON(album.albumid = albumpicture.albumid)
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = album.userid)
WHERE album.state = 'public' AND user.lastvisit > $cutoff
ORDER BY $orderby DESC LIMIT 0, $tot
");