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

Сортировка по двум полям

06.11.2014, 05:45. Показов 2628. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться с сортировкой.

Есть несколько продуктов в таблице:
id rating rating_count
1 | 5 звезд | человек проголосовавших: 10
2 | 3 звезды | человек проголосовавших: 11
3 | 2 звезды | человек проголосовавших: 1
4 | 5 звезд | человек проголосовавших: 6

Нужно что бы в итоге получилось так:
id rating rating_count
1 | 5 звезд | человек проголосовавших: 10
4 | 5 звезд | человек проголосовавших: 6
2 | 3 звезды | человек проголосовавших: 11
3 | 2 звезды | человек проголосовавших: 1

Т.е. нужно сначала отсортировать по количеству звезд, а потом по количеству проголосовавших.
Делаю так: ... ORDER BY rating DESC, rating_count DESC
В итоге сортирует либо по rating либо по rating_count в зависимости, что идет первым.

Надеюсь на вашу помощь.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.11.2014, 05:45
Ответы с готовыми решениями:

Сортировка по двум полям
Есть таблица с полями name,date,score Нужно вывести отсортированные 15 последних записей по date, отобразив их по убыванию по score ...

Групировка по двум полям
Привет всем! Есть таблица table в ней есть два поля type1 и type2 (и еще несколько) Как зделать выборку чтобы значения type1 и...

Уникальный индекс по двум полям
есть уникальный индекс по двум полям. Нужно ли отдельно индексировать поле входящее в этот индекс, если предполагается по этому полю...

3
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
06.11.2014, 09:40
Цитата Сообщение от AlexseySH
В итоге сортирует либо по rating либо по rating_count в зависимости, что идет первым.
Не может быть. Показывай полностью запрос и результат
0
311 / 271 / 118
Регистрация: 05.06.2013
Сообщений: 868
06.11.2014, 11:31
Лучший ответ Сообщение было отмечено AlexseySH как решение

Решение

Поля rating и rating_count у тебя varchar. А значит цифры воспринимаются не как цифры. У тебя 6 будет считаться больше чем 11.

Если есть возможность, не храни в поле слова "звезды" и "человек проголосовавших:", храни только цифры. Нужный тест можно добавить конкатенацией.

Если возможности менять уже нет - обрезай(можно через substr и instr) цифры, преобразуй их в number и потом только сортируй по полученным значениям.

Нужна в этом помощь или сам справишься?

Добавлено через 4 минуты
Вот запрос:
MySQL
1
2
3
select * from table
order by cast(substr(rating, 1, instr(rating, ' ')) as DECIMAL) desc, 
         cast(substr(rating_count, instr(rating_count, ':')+2) as DECIMAL) desc
1
0 / 0 / 0
Регистрация: 06.11.2014
Сообщений: 2
06.11.2014, 15:01  [ТС]
Jefe, спасибо помогло. На самом деле у меня хранятся в базе цифры без текста, но в формате varchar.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.11.2014, 15:01
Помогаю со студенческими работами здесь

Подключение таблицы к двум полям
Здравствуйте обитатели форума. Пришел просить вашей помощи. В настоящее время изучаю работу с языком SQL и СУБД MySQL. Понадобилось создать...

Как задать уникальность по двум полям
есть поля 1 - id (ид) 2 - id_user (ид пользователя) 3 - date_r (дата) как сделать так чтобы при инсерте нельзя добавить две...

Объединение одной таблицы по двум полям
Друзья! Помогите плиз! Есть одна таблица, в ней нужно записи объединить по двум полям. Как это сделать - не получается(( Слишком...

DISTINCT по двум полям с суммированием значения третьего
Есть таблица, в которой среди прочих есть поля col1, col2 и col3. Значения полей col1 и col2 не уникальны и могут многократно повторяться...

Выбор по двум полям. Как такое может быть?
Таблица состоит из нескольких полей, при этом поля id и id_new типа int. Делаю запрос SELECT * FROM `obj_types_Apk_activity` WHERE...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru