Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ORDER BY по нескольким параметрам / 9 сообщений из 9, страница 1 из 1
12.10.2014, 11:55:30
    #38774266
dropoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
Всем привет.

Нужна ваша помощь!
Никак не могу понять как сделать.

В общем есть список новостей.
Нужно реализовать сортировку по нескольким параметрам.
Что имеет
-Просмотры (views) (всегда по убыванию!)
-Комментарии (comments)
-Название (name)

Сортировка должна быть такой, чтобы при любом исходе записи с просмотрами 0 были в конце.
Т.е. чтобы "views DESC".

Знаю, что можно через запятую перечислять, но это не то вроде.

Приведу пример, чтобы понятно было
Код: sql
1.
SELECT * FROM news WHERE status = 1 ORDER BY views DESC



Может кто подскажет, как такое сделать можно?

С уважением,
Андрей.
...
Рейтинг: 0 / 0
12.10.2014, 12:12:23
    #38774273
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
dropoffЗнаю, что можно через запятую перечислять, но это не то вроде.А чем не устраивает?
...
Рейтинг: 0 / 0
12.10.2014, 14:00:30
    #38774300
dropoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
тем, что при изменении сортировки, например. по имени, в результате все-равно выводит по views DESC.
т.е. совершенно не то, что нужно.
...
Рейтинг: 0 / 0
12.10.2014, 14:19:39
    #38774308
Станислав Клевцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
dropoffтем, что при изменении сортировки, например. по имени, в результате все-равно выводит по views DESC.
т.е. совершенно не то, что нужно.

dropoff-Просмотры (views) (всегда по убыванию!)
-Комментарии (comments)
-Название (name)

Код: plsql
1.
2.
3.
4.
5.
6.
select * 
  from news as n 
where  n.status = 1 
order by n.views desc
       , n.comments asc
       , n.name asc;



а так ?
...
Рейтинг: 0 / 0
12.10.2014, 18:19:00
    #38774404
dropoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
Вот, что значит выпить пива в выходной)

Станислав Клевцов , так то да, сортирует, за исключением одного момента, который я не правильно описал.

Все новости с количеством просмотров 0 всегда должны быть в самом конце.
Т.е. сортировка по имени, сортируем по имени, а новости с просмотром 0 всегда в конце. т.е. они сортируются по имени, но все в конце.
Это как в магазинах товары у которых на складе 0 всегда выводит в самом конце не зависимо от сортировки.
...
Рейтинг: 0 / 0
13.10.2014, 06:43:59
    #38774689
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
dropoff,

Код: sql
1.
2.
order by views=0 desc
 ,все остальные сортировки
...
Рейтинг: 0 / 0
14.10.2014, 12:50:32
    #38776131
dropoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
tanglir , не работает. все-равно с 0 попадает вперед.

получается
Код: sql
1.
ORDER BY views = 0 DESC, name DESC
...
Рейтинг: 0 / 0
14.10.2014, 12:52:22
    #38776135
dropoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
А, не. сори. Все работает вроде как нужно!
Спасибо!!!
...
Рейтинг: 0 / 0
14.10.2014, 12:56:23
    #38776141
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORDER BY по нескольким параметрам
dropoffЗнаю, что можно через запятую перечислять, но это не то вроде.

Приведу пример, чтобы понятно было
Код: sql
1.
SELECT * FROM news WHERE status = 1 ORDER BY views DESC





ЭТО -- ТО !
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ORDER BY по нескольким параметрам / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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