Как выбрать данные из mysql и потом вывести их в нужном порядке

Статус
В этой теме нельзя размещать новые ответы.
Это можно сделать через union:

PHP:
(select * from Table_Name where Zagolovok = 'Мука')
union distinct
(select * from Table_Name order by Zagolovok );

или так (лучший вариант:(

PHP:
(select Zagolovok, cast(1 as SIGNED) order_field from Table_Name where Zagolovok = 'Мука')
union distinct
(select Zagolovok, cast(0 as SIGNED) order_field from Table_Name)
order by order_field desc,Zagolovok;
 
Это можно сделать через union:
или так (лучший вариант:(
PHP:
(select Zagolovok, cast(1 as SIGNED) order_field from Table_Name where Zagolovok = 'Мука')
union distinct
(select Zagolovok, cast(0 as SIGNED) order_field from Table_Name)
order by order_field desc,Zagolovok;
Этот уровень уже выше моего понимания. Если можно, то словами объяснить что делается. не понятно что такое cast и as signed.

А так всем спасибо за варианты. Сейчас возникла новая проблема - какой из вариантов выбрать.
 
Этот уровень уже выше моего понимания. Если можно, то словами объяснить что делается. не понятно что такое cast и as signed.

А так всем спасибо за варианты. Сейчас возникла новая проблема - какой из вариантов выбрать.

Какой там уровень)))
Просто разобраться надо)))

Сматри:

в этом контексте cast создает виртуальное поле типа interger(SIGNED) с названием order_field и значением 1 для "Муки" и 0 для всех остальных.
И потом после union-a делаем сортировку по полю order_field где у нас первые записи идут с order_field = 1

понятно?
 

Прочитал ветку, на которую ты указал. В ней поле типа дата, а здесь вопрос про поле текстовое. Но думаю твой случай тоже можно решить следующим способом, просто поле типа дата нужно привести (cast) к строке.

Исходная таблица:
 
Прочитал ветку, на которую ты указал. В ней поле типа дата, а здесь вопрос про поле текстовое. Но думаю твой случай тоже можно решить следующим способом, просто поле типа дата нужно привести (cast) к строке.

Исходная таблица:
*** скрытое содержание ***

Вы не поняли. В теме, созданной мной, описан вопрос этой темы и указано же его решение. То есть эта тема дублирующая.
 
Вы не поняли. В теме, созданной мной, описан вопрос этой темы и указано же его решение. То есть эта тема дублирующая.

В Вашей теме вы спрашиваете про "особое" упорядочение значений ключа (id). А в этой ветке рассматривается вопрос упорядочения текстовых (!) значений - см. первый пост Согласитесь, это немного разные вещи. Я предложил способ упорядочения текстовых данных добавлением к ним слева пробела. Этот способ для тестовых полей менее громоздкий, чем предлагаемый в теме, созданной Вами. Но и менее универсальный, конечно. Хотя и он приспосабливается к данным любых типов. Достаточно привести данные CASTом к строковому типу, добавив слева нужное количество пробелов и создав тем самым вычисляемое поле для ORDER BY.
И наоборот - способом Вашей темы можно упорядочить данные любых типов. Но - ценой довольно громоздкой конструкции CASE в OREDER BY.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху