<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

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

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Сортировка в SQL по одному полю, затем по другому

Сортировка в SQL по одному полю, затем по другому

Я уже как-то писал про сортировку сразу по нескольким полям в SQL. Но иногда требуется сортировка не сразу по нескольким полям, а сначала по одному, затем по-другому. Например, в курсе, который я сейчас записываю, мне потребовалось вывести 8 новинок из таблицы и отсортировать эти 8 новинок по цене. Не сразу по новизне и цене, а именно сначала новинки, а потом сортировка. Давайте с Вами разберём, как делается сортировка в SQL сначала по одному полю, затем по другому.

Безусловно, можно просто извлечь 8 новинок, а потом в PHP уже отсортировать по цене, но это весьма сомнительное решение. Вот как это можно сделать сразу в SQL:

SELECT * FROM
(SELECT * FROM `table` ORDER BY `date` DESC LIMIT 8) a
ORDER BY `price`

Как видите, получился такой достаточно хитрый запрос. Мы после первого FROM не писали название таблицы, а указали множество данных, полученных выборкой из другой таблицы. И вот из этой другой таблицы выбирается 8 новинок, а потом в полученном множестве идёт уже сортировка по цене.

Таким образом, PHP нам не потребовался, хотя абсолютное большинство в такой ситуации к этому обязательно бы прибегнули.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (8):

lev_100rus lev_100rus 14.02.2013 22:58:55

Спасибо! Как раз то что нужно

Ответить

ac-40-6.0 ac-40-6.0 15.02.2013 19:04:30

Где-то читал, что вложенные запросы затормаживают быстродействие баз данных.

Ответить

Admin Admin 15.02.2013 21:02:05

Затормаживают, но выхода нет. Через PHP сортировка будет гораздо медленнее.

Ответить

fooger fooger 04.10.2013 07:44:06

А разве нельзя в ORDER BY указывать несколько полей поочередно? Это ведь работает гораздо быстрее SELECT * FROM `table` ORDER BY `date`, `price`

Ответить

Admin Admin 04.10.2013 12:46:00

Вы попробуйте это сделать и увидите, что будет совсем другой результат.

Ответить

fooger fooger 04.10.2013 13:16:58

Только что попробовал, работает как надо. Если необходимо могу привести пример. http://www.spravkaweb.ru/mysql/sql/select >>Данные также можно отсортировать по нескольким столбцам. Для этого надо названия столбцов указать через запятую. Это может пригодиться, например, если в столбце, по которому производится сортировка, есть несколько одинаковых значений. >>Сначала данные сортируются по первому столбцу field1. Затем, если в первом столбце есть несколько одинаковых значений, выполняется дополнительная сортировка по второму столбцу (внутри группы с одинаковыми значениями в первом столбце).

Ответить

Admin Admin 04.10.2013 13:19:06

Разницу можете посмотреть здесь: http://myrusakov.ru/sql-double-order.html

Ответить

fooger fooger 04.10.2013 13:34:37

аааа, врулил... Извиняюсь, не внимательно прочитал первый абзац)

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.