我有一个整数列表,user_id
例如N
[1001, 1023, 13452, 1679834, ...]
和一张桌子:
CREATE TABLE content (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user_id INT,
content VARCHAR(100),
score INT
);
我需要从这些N
整数中获取user_id
并为每个user_id
获取具有最高 3 的前 3 个content
整数score
。所以基本上我需要运行这个查询N
时间:
SELECT *
FROM content
WHERE user_id=1001
ORDER BY score DESC
LIMIT 3;
N
可能是一个非常大的数字。所以我非常想避免一个接一个地运行这些查询。
有什么方法可以减少我需要运行的查询数量?也许某种批量选择?