У меня есть список 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 content
, который имеет самый высокий score
.Поэтому в основном мне нужно выполнить этот запрос N
раз:
SELECT *
FROM content
WHERE user_id=1001
ORDER BY score DESC
LIMIT 3;
N
может быть очень большим числом.Поэтому я бы очень хотел избежать выполнения этих запросов один за другим.
Есть ли способ уменьшить количество запросов, которые мне нужно выполнить?Возможно, какой-то объемный выбор?