Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25

Сортировка по наличию значений в полях и по ID одновременно

23.10.2017, 22:22. Показов 2666. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Есть база товаров, поля id , image, text.
image и text - текстовые поля, id - числовое

Нужно отсортировать товары так, чтобы вначале шли:
товары с непустыми полями image и text, и все это отсортировано по id
потом
товары с непустым полем image и пустым полем text, тоже отсортировано по id
потом
только с текстом, так же по id
потом
остальные (т.е. пустые, без текста и без фото)

Пробовал что-то вроде:
SQL
1
ORDER BY `tov_image DESC, `tov_text` DESC, `tov_id` ASC
Но сортирует неправильно, т.к. делает это по символам в этих строках, а надо чтобы впринципе по наличию символов в строке, и при этом по id ф прямом порядке.
Как организовать такое наркоманство? )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2017, 22:22
Ответы с готовыми решениями:

Сортировка товаров по наличию
Доброго времени суток. Возможно ли реализовать в вордпрессе сортировку товаров "По наличию". Спасибо. Добавлено через 6...

сортировка по наличию на складе
Встала задача отодвинуть товары, которых нет на складе, на последние места. На скрине показано, что я выбрал в настройках компонента. Но...

Привязка значений в полях
Есть товары на сайте, называются по такому типу Товар_1 100x100 Товар_2 100x150 Товар_3 100x200 Товар_4 100x250 Товар_5 100x300 ...

3
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
24.10.2017, 06:33
MySQL
1
ORDER BY `tov_image` IS NOT NULL DESC, `tov_id` ASC
Дальше, думаю, догадаетесь
1
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
24.10.2017, 13:45  [ТС]
Честно говоря впервые вижу, чтобы IS (NOT) NULL использовалось в сортировке ORDER BY, а не в выборке WHERE
Тем не менее, NULL не подходит. Есть аналог для пустого значения "" вместо NULL?

Добавлено через 9 минут
Кажется нашел решение, утро вечера мудренее, Спасибо что натолкнули на мысль:

SQL
1
ORDER BY IF(`tov_image`!='',1,0) DESC, IF(`tov_text`!='',1,0) DESC, `tov_id` ASC
0
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
25.10.2017, 05:21
Цитата Сообщение от allasan-1 Посмотреть сообщение
Честно говоря впервые вижу, чтобы IS (NOT) NULL использовалось в сортировке ORDER BY, а не в выборке WHERE
Приходилось и более интересные сортировки видеть, например ORDER BY `some_field` LIKE '%БлаБла%' DESC, для того, что бы в верху выборки были записи с блабла.
MySQL крутая штука, нето что оракл (шутка)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2017, 05:21
Помогаю со студенческими работами здесь

Суммирование значений в полях
Привет всем. Друзья скажите пожалуйста как посчитать все значения этих полей ? что бы при нажатии кнопки "определить трансвер"...

Установка значений в полях формы
Есть 2 таблицы основная(pole0,pole1,pole2....) и справочник(pole1,name), связанные по полям pole1-pole1, на форме есть выпадающий список на...

Отчёт - смена значений в полях
Нужно сделать отчёт, который бы выводил квартиры, их раположение и т.д. Но квартира может находится не в киеве, а допустим в гливахе и поле...

Проверка изменения значений в текстовых полях
Здравствуйте. Дабы не создавать несколько тем,задам несколько вопросов. 1) У меня боксы с датами(см. скрин). Как сделать проверку на...

Замена значений в полях между таблицами
Доброе время суток! Подскажите начинающему, как заменить значение в поле одной таблице значением другой! В общем есть таблица в которой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru