
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 806 Пользователь №: 17108 На форуме: Карма: 1 ![]() |
Добрый день.
Код: SELECT * FROM `projects` AS P LEFT JOIN `project_sequens` AS PS ON P.category=PS.category group by P.category ORDER by PS.num ASC Мне нужно из таблицы `projects` вывести данные по id Desc, т.е. что- то вроде этого: SELECT * FROM `projects` AS P LEFT JOIN `project_sequens` AS PS ON P.category=PS.category group by P.category ORDER by PS.num ASC, P.id DESC В данном случае проблема в том, что срабатывает только ORDER by PS.num ASC, а P.id DESC не работает... Подскажите почему, и как сделать правильно? Спустя 8 минут, 45 секунд (17.08.2012 - 18:52) inpost написал(а): должен срабатывать. Спустя 42 минуты, 31 секунда (17.08.2012 - 19:35) Krevedko написал(а): сортирует сначала по первой сортировке, потом как бы внутри нее по второй Спустя 17 часов, 30 минут, 15 секунд (18.08.2012 - 13:05) Strannik написал(а): в том то и дело, что вторая не срабатывает... Спустя 4 минуты, 3 секунды (18.08.2012 - 13:09) inpost написал(а): Когда ты пишешь: echo $row['id'] - тебе выводит ID второй таблицы, которая затёрла ID из первой! А сортирует по первой. Спустя 6 часов, 25 минут (18.08.2012 - 19:34) Strannik написал(а): нет, сортировка по 2-му случаю(по id) не срабатывает... вот, что я получаю в базе(сорри за размер): ![]() Спустя 57 минут, 59 секунд (18.08.2012 - 20:32) inpost написал(а): Что я вижу, num: 1,2,3,4,5 . Всё нормально отсортировано. Ты вообще о чём? Спустя 15 минут, 14 секунд (18.08.2012 - 20:47) Strannik написал(а): inpost ORDER by PS.num ASC, P.id DESC по P.id Desc сортировка не прошла... Как тогда применить дополнительную сортировку? отдельным sql запросом? Спустя 7 минут, 55 секунд (18.08.2012 - 20:55) Winston написал(а): А так? SELECT * Спустя 23 минуты, 11 секунд (18.08.2012 - 21:19) inpost написал(а): Strannik Сначала сортируется по первому полю. 1 2 3 4 5 6 Если есть ДУБЛИ по полям (дважды num: 1), тогда вторая сортировка внутри num 1. Спустя 1 день, 5 часов, 58 минут, 2 секунды (20.08.2012 - 03:17) Strannik написал(а): Хорошо. У меня есть 2 таблицы: 1-я таблица projects(в ней забиты описание проектов) CREATE TABLE IF NOT EXISTS `projects` ( 2-я таблица project_sequens(ней указывается позиция(num) каждой категории(category), которая дальнейшем используется при выводе из таблицы projects CREATE TABLE IF NOT EXISTS `project_sequens` ( Для вывода из таблицы projects строк с уникальными категориями, в порядке, указанном для категорий в таблице project_sequens, я использую sql запрос: SELECT * FROM `projects` AS P LEFT JOIN `project_sequens` AS PS ON P.category=PS.category group by P.category ORDER by PS.num ASC Но я столкнулся с проблемой, что из таблицы projects выводятся первые строки с уникальными категориями, а мне нужно, чтобы из таблицы projects выводились последние строки с уникальными категориями, т.е. если у нас в таблице projects есть строки: 1 категория 2 категория 3 категория 4 категория 5 категория то чтобы выводилась не 1 категория, а 5 категория... Расписал подробно, надеюсь все понятно... Просто я столкнулся с проблемой, а есть ли ее решение я не знаю, решил уточнить, может кто знает как вывести строки нужным мне способом? Спустя 6 часов, 18 минут, 44 секунды (20.08.2012 - 09:35) inpost написал(а): я не понял тебя. Вот вверху выбрано 5 записей и отсортировано по num, в чём не так? Конкретно верхний скрин-шот опиши, как именно записи должны располагаться? Спустя 1 день, 5 часов, 51 минута, 45 секунд (21.08.2012 - 15:27) Strannik написал(а): inpost не заметил ответ Winston все в порядке, спасибо. P.S.: смысл в том, что при моем запросе у меня выдавались строки с уникальными категориями с начала таблицы, а мне нужно было, чтобы выдавались последние добавленные строки с уникальным значением. |
![]() |
![]() ![]() ![]() |