Задать вопрос
eprivalov
@eprivalov
Учусь

Как усовершенствовать MySQL запрос?

Добрый вечер!

Есть вот такой MySQL запрос:

SELECT GROUP_CONCAT(image) as product_image,
							p.id as product_id, p.title as product_title, p.description as product_description, p.description1 as product_description1,
							p.text as product_text, p.keywords as product_keywords, p.price as product_price,
							p.quantity as product_quantity, p.availability as product_availability, p.category as product_category,
							p.cnc as product_cnc
						FROM images i 
						INNER JOIN products p ON (p.id = i.product_id) 
						GROUP BY p.id HAVING product_availability = 1


Как мне добавить к такому запросу DESC или ASC, чтобы он правильно продолжал работать? Заранее спасибо за ответы.
  • Вопрос задан
  • 2703 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
eprivalov
@eprivalov Автор вопроса
Учусь
Вопрос решен, добавил в конец запроса ORDER BY p.id DESC.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@max_rip
По идеи добавление ORDER BY нужное_вам_поле не как не поломает запрос, по умолчанию скорее всего сортировка идет по ключу в таблице images.
Хотя по мне как-то стремно сам запрос построен. По идеи первоначальная таблица должна быть products а к ней уже делать джоин изображений. Можно решить это под запросом
SELECT p.title (SELECT GROUP_CONCAT(image) as product_image FORM images WHERE images.id = p.id ) as product_image FROM products p
В моем варианте вы получаете гибкость в обоих запросах, можете управлять сортировкой как и в таблице продуктов, так и в таблице с изображениями.
Не знаю как там это в плане скорости, по идеи тут будет быстрее т.к. нету лишний группировки.
Надо бы как нить проверить в плане скорости.
Ответ написан
Комментировать
Нужны структуры таблиц.
По какому полю должна быть сортировка?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы