У меня есть таблица, которая выглядит следующим образом таблицы - MyListвыбрать записи, которые добавляют до числа
-----
id | max_p
----------
1 | 4
2 | 2
3 | 2
4 | 6
5 | 2
6 | 2
Я хотел бы выполнить запрос, который будет найти минимальное количество строк, где сумма max_p = 10. так что в этом случае он будет выбирать записи 1 и 4
если бы я хотел, чтобы запустить тот же запрос, чтобы найти 12, то он будет выбирать записи 1,4 и 5
если бы я хотел, чтобы найти записи, составившие 2 его будет просто выбрать номер записи 5, так как это правильный номер, и поэтому нужно выбрать не более одной записи?
В идеале это выбрало бы только одну запись, если бы желаемая сумма была такой же, как любая строка, тогда, если бы это было невозможно, она выбрала бы две записи, затем три и т. Д. Если желаемое число не было возможным, вернет пустой результат
скрипку здесь: http://ideone.com/3ECaT2
CREATE TABLE `my_list` (
`id` int(2) ,
`max_p` int(2),
PRIMARY KEY (`id`)
) ;
INSERT INTO `my_list` (`id`, `max_p`) VALUES
(1, 4),
(2, 2),
(3, 2),
(4, 6),
(5, 2),
(6, 2);
Любая помощь очень ценится
получить весь набор данных, и сделать это на стороне клиента. .. –