Задать вопрос

Как составить запрос MySQL?

Добрый вечер. Есть вот такой MySQL запрос:
$query = "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";

Как мне его усовершенствовать? Нужно добавить ORDER BY DESC. Куда его нужно вставить в запрос MYSQL?
  • Вопрос задан
  • 2782 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@zelibob
Использовать вложенный запрос.
SELECT * FROM ( <ваш_запрос> ) ORDER BY <имя_поля> DESC
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Добавить в конце ORDER BY i.id DESC или ORDER BY p.id DESC не помогает?
Или с группировкой косяк получается?
Ответ написан
Комментировать
maovrn
@maovrn
В order by подставляется алиас поля, фактически это означает, что сортировка производится после группировки. Например
order by product_id desc
Более того, вместо алиаса можно использовать порядковый номер колонки в выводе:
order by 2 desc
Ответ написан
Комментировать
eprivalov1
@eprivalov1 Автор вопроса
С группировкой косяк получается. ;-(
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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