Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка товаров по сумме цен / 6 сообщений из 6, страница 1 из 1
28.01.2016, 07:20
    #39157104
Ярый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка товаров по сумме цен
Товарищи, в sql разбираюсь поверхностно, можете подсказать, есть ли возможность выбрать из БД столько элементов, чтобы сумма по их полю цена не превысила заданное значение? Сама задача не стоит как для метода оптимизации - найти максимально близкую сумму к заданной, просто выбирать рандомные значения, пока не превысит заданную сумму
Вот сам запрос без ограничения на количество товаров:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT el.ID, el.NAME, el.DETAIL_PICTURE, price.PRICE, prod.QUANTITY 
            FROM b_catalog_product AS prod, b_catalog_price AS price, b_iblock_element AS el
            WHERE el.IBLOCK_ID = "6" AND
            el.ACTIVE = "Y" AND
            prod.QUANTITY > "1" AND
            price.PRICE >= '. $_POST['MINPRICE'] .' AND price.PRICE <= ' . $_POST['MAXPRICE'] . ' AND
            el.ID = prod.ID AND
            el.ID = price.ID AND
            prod.ID = price.ID 
            ORDER BY RAND() 
...
Рейтинг: 0 / 0
28.01.2016, 07:49
    #39157114
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка товаров по сумме цен
Ярыйесть ли возможностьесть
курить фак по переменным
идея - отсортировать по возрастанию цены, посчитать нарастающий итог, оставить только те записи, где он окажется меньше заданного числа
...
Рейтинг: 0 / 0
28.01.2016, 08:08
    #39157127
Ярый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка товаров по сумме цен
tanglir,

не пойдет, потому что получим список из дешевых товаров, нужно чтобы товары были из разных ценовых категорий
...
Рейтинг: 0 / 0
28.01.2016, 09:15
    #39157155
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка товаров по сумме цен
все то что сказал tanglir , применительно к простой таблице seq1000 со "сплошным" id
Код: sql
1.
2.
3.
4.
5.
6.
SELECT
  s.id,
  @sm := @sm + s.id AS NAKOP_SUM
FROM seq1000 AS s, /* поменять на рандомный запрос*/
     (SELECT @sm := 0) AS rwt
HAVING @sm < 1000 /*ваш предел*/


сделайте применительно к RAND()-омно упорядоченной вашей таблицей,
т.е. сначала SELECT * FROM MyTable ORDER BY RAND(). а затем считаете накопительный итог
...
Рейтинг: 0 / 0
28.01.2016, 09:43
    #39157172
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка товаров по сумме цен
Alex_Ustinov,

такой запрос, правда, выведет на 1 строку больше... чуть переделать надо...
...
Рейтинг: 0 / 0
28.01.2016, 12:38
    #39157342
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка товаров по сумме цен
Ярыйtanglir,

не пойдет, потому что получим список из дешевых товаров, нужно чтобы товары были из разных ценовых категорийну тогда не сортируй, проблем-то...
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка товаров по сумме цен / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]