users
我有一个查询正在从表中提取喜欢特定对象的用户。评级存储在ratings
表格中。到目前为止,我提出的查询如下所示:
SELECT user.id, user.name, user.image
FROM users
LEFT JOIN ratings ON ratings.userid = user.id
WHERE rating.rating > 0
AND rating.objectId IN (1,2,3,4)
LIMIT
当每个 ID 只需要 3 个左右的结果时,我希望能够在此查询上添加一个,以避免返回所有结果。如果我只是举个LIMIT 12
例子,我可能会得到 8 条带有一个 id 的记录,而其他的则各有 1 条或 2 条——即,ID 之间的分布不均匀。
有没有办法编写这个查询以保证(假设一个对象至少被“喜欢”了三次),我得到列表中每个 id 的三个结果?