如何为每位朋友选择2张个人资料照片?
我有这个问题:
SELECT object_id, src_small
FROM photo WHERE aid
IN ( SELECT aid FROM album WHERE owner
IN ( SELECT uid2 FROM friend WHERE uid1 = me()) AND type="profile")
显示每个朋友的每张个人资料照片。不知怎的,我应该限制每个用户只选择2个。
有什么想法吗?
答案 0 :(得分:0)
您可以在特定查询的末尾使用LIMIT语句以及ORDER BY。
所以你可以通过添加
来获取他们的2张最新照片ORDER BY created DESC LIMIT 2
所以要从每个朋友那里得到2,你必须运行另一个子查询来从每个朋友那里获取2:
SELECT object_id, src_small
FROM photo WHERE pid
IN ( SELECT pid FROM photo WHERE aid
IN ( SELECT aid FROM album WHERE owner
IN ( SELECT uid2 FROM friend WHERE uid1 = me()) AND type="profile") ORDER BY created DESC LIMIT 2)