- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть запрос к БД, которым сортируем и выводим по критериям.
Нужно добавить определенное условие к сортировке: Объекты (строки) опубликованные в промежуток 1-2 года назад, в количестве до 5 штук. Дата хранится в бд в формате секунд от 1970 года. в столбце obj_date.
Я так понимаю, сортировку можно сделать как то так:
А как к ней прилепить лимит в 5 объектов?
То есть хочу, чтобы сначала шли объекты в порядке снижения по значению obj_top
Потом 5 объектов попадающих под критерий публикации от 1 до 2 лет назад, с сортировкой по этой самой дате.
А далее как сейчас.
Вообще не понятно что вы хотите.
Сформулируйте ваш вопрос по точнее. НЕ совсем понятно при чем тут сортировка, если вы говорите про условие выборки:
И что вы хотите получить этим выражением?
У IF есть конкретное описание
IF(expr1,expr2,expr3)
Если expr1 равно значению ИСТИНА (expr1 <> 0 и expr1 <> NULL), то функция IF() возвращает expr2, в противном случае - expr3.
В текущем варианте получается что то типа
А в вашем варианте вы вообще опустили expr2 и expr3
То есть хочу, чтобы сначала шли объекты в порядке снижения по значению obj_top
Потом 5 объектов попадающих под критерий публикации от 1 до 2 лет назад, с сортировкой по этой самой дате.
UNION в помощь..
Aisamiery, Я хз, так как это писал год назад. Я так предполагаю, что если условие выполняется, то 1 = true, и строки показываются, а 0 - не показываются.
А саму сортировку, более тщательно погуглил, и сделал так.
Осталось только приделать, чтобы по этой конкретной сортировки выводили первые 5 строк.
чтобы по этой конкретной сортировки выводили первые 5 строк.
добавить.
Однако, есть ощущение, что Вы не уловили, что вот так:
начала шли объекты в порядке снижения по значению obj_top
Потом 5 объектов попадающих под критерий публикации от 1 до 2 лет назад,
без UNION одним запросом вряд ли удастся реализовать.
Условие выборки объектов от 1 до 2 лет назад.. применится ко всему запросу..
Аналогично - с сортировкой.. ко всей выборке
добавить.
Однако, есть ощущение, что Вы не уловили, что вот так:
без UNION одним запросом вряд ли удастся реализовать.
Условие выборки объектов от 1 до 2 лет назад.. применится ко всему запросу..
Аналогично - с сортировкой.. ко всей выборке
Та не, там же после запроса еще идет хитромудренный код.
Допустим под критерий всего селекта попало 62 строки, показывается по 10 строк на странице, итого 7 страниц.
И лимит 10, стоит именно в конце одного единственного запроса.
Вообще я думал, что работает так:
Сначала сортируется по первому критерию.
Для строк, значения которых одинаковые, идет сортировка по второму критерию, и т.д.
Т.е "от 1 до 2-х лет" я включил в сортировку, все работает. Но просто где-то таких строк выводится 3, а где-то 15, а мне нужно чтобы было максимум 5.
Но если это нельзя все в один запрос включить, то ну нахрен вообще. Я 100% не потяну какие-то юнионы изучать, а потом еще чужой некоментированный код править.
потом еще чужой некоментированный код править.
Так правьте свой, комментированный ))
Я 100% не потяну какие-то юнионы изучать
На самом деле ничего сложного. Примерно так..
ivan-lev, в php останется один запрос?
$query = "Select и поехали?"