Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Как добавить 2-й Order by ?
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 21 день
Карма: 0




Добрый день.
Код:
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 не работает...

Подскажите почему, и как сделать правильно?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22688
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 26 дней
Карма: 599




должен срабатывать.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Krevedko  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Тупая креведко
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1905
Пользователь №: 18200
На форуме: 7 лет, 5 месяцев, 5 дней
Карма: 37




сортирует сначала по первой сортировке, потом как бы внутри нее по второй
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 21 день
Карма: 0




в том то и дело, что вторая не срабатывает...
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22688
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 26 дней
Карма: 599




Когда ты пишешь: echo $row['id'] - тебе выводит ID второй таблицы, которая затёрла ID из первой! А сортирует по первой.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 21 день
Карма: 0




нет, сортировка по 2-му случаю(по id) не срабатывает...

вот, что я получаю в базе(сорри за размер):

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22688
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 26 дней
Карма: 599




Что я вижу, num: 1,2,3,4,5 . Всё нормально отсортировано. Ты вообще о чём?


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 21 день
Карма: 0




inpost
ORDER by PS.num ASC, P.id DESC

по P.id Desc сортировка не прошла...

Как тогда применить дополнительную сортировку? отдельным sql запросом?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 5 месяцев, 10 дней
Карма: 552




А так?
SELECT *
FROM (SELECT * FROM `projects` ORDER BY id DESC) AS P
LEFT JOIN `project_sequens` AS PS
ON P.category = PS.category
GROUP BY P.category
ORDER BY PS.num ASC
PMСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22688
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 26 дней
Карма: 599




Strannik
Сначала сортируется по первому полю.
1
2
3
4
5
6


Если есть ДУБЛИ по полям (дважды num: 1), тогда вторая сортировка внутри num 1.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 21 день
Карма: 0




Хорошо.
У меня есть 2 таблицы:
1-я таблица projects(в ней забиты описание проектов)

CREATE TABLE IF NOT EXISTS `projects` (
`id` int(11) NOT NULL auto_increment,
`idn` varchar(30) NOT NULL,
`name` varchar(100) NOT NULL,
`category` varchar(50) NOT NULL,
`text` varchar(4000) NOT NULL,
`article` varchar(800) NOT NULL,
`mainimage` varchar(30) NOT NULL,
`image1` varchar(30) NOT NULL,
`image2` varchar(30) NOT NULL,
`image3` varchar(30) NOT NULL,
`image4` varchar(30) NOT NULL,
`image5` varchar(30) NOT NULL,
`image6` varchar(30) NOT NULL,
`image7` varchar(30) NOT NULL,
`image8` varchar(30) NOT NULL,
`image9` varchar(30) NOT NULL,
`image10` varchar(30) NOT NULL,
`workers` varchar(500) NOT NULL,
`client` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;


2-я таблица project_sequens(ней указывается позиция(num) каждой категории(category), которая дальнейшем используется при выводе из таблицы projects

CREATE TABLE IF NOT EXISTS `project_sequens` (
`id` int(11) NOT NULL auto_increment,
`category` varchar(50) NOT NULL,
`num` int(4) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;


Для вывода из таблицы 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 категория...

Расписал подробно, надеюсь все понятно...

Просто я столкнулся с проблемой, а есть ли ее решение я не знаю, решил уточнить, может кто знает как вывести строки нужным мне способом?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22688
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 26 дней
Карма: 599




я не понял тебя. Вот вверху выбрано 5 записей и отсортировано по num, в чём не так? Конкретно верхний скрин-шот опиши, как именно записи должны располагаться?


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 21 день
Карма: 0




inpost не заметил ответ Winston все в порядке, спасибо.

P.S.: смысл в том, что при моем запросе у меня выдавались строки с уникальными категориями с начала таблицы, а мне нужно было, чтобы выдавались последние добавленные строки с уникальным значением.
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса