Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка результатов запроса
 
 автор: kest131   (14.09.2005 в 10:27)   письмо автору
 
 

Можно ли как нибуть сортировать данные не по таблице а по другому запросу.

Например:


select id from (select id from test) order by id desc;

   
 
 автор: cheops   (14.09.2005 в 13:43)   письмо автору
 
   для: kest131   (14.09.2005 в 10:27)
 

Не очень понятно - вы используете вложенные запросы? Сортировку по чему вы хотите провести и какова исходная задача?

   
 
 автор: kest131   (14.09.2005 в 13:54)   письмо автору
 
   для: cheops   (14.09.2005 в 13:43)
 

Сортировка по запросу


select id from test


Исходная задача :сортировать данные по запросу (select id from test)

Например:


select id,type from test orderby id desc


Что - бы шла сортировка по полученым результатам (select id,type from test orderby id desc)

Например:


select typy from (select id,type from test orderby id desc) group by type;


Только написать не знаю как правильно.

   
 
 автор: napTu3aH   (14.09.2005 в 18:48)   письмо автору
 
   для: kest131   (14.09.2005 в 13:54)
 

Если у вас версия Мускула 4,1 и выше можно использовать подзапросы


select type, (select id,type from $table order by id desc) from $table group by type

Это неправильный запрос, т.к. в подзапросах должны использоваться разные поля, а в вашем случае поле type повторяеться.

Насколько я понял вам должен помочь следующий запрос

select id, type from test  group by type order by id desc;

   
 
 автор: kest131   (14.09.2005 в 19:46)   письмо автору
 
   для: napTu3aH   (14.09.2005 в 18:48)
 

Мне нужно немного другое.

То что вы предложили сортируе данные из полученых значений после функции (group by type ) и упорядочивает.

Нужно что-бы было так что бы сначало шла сортировка (order by id desc) а уже потом сортировалась (group by type ) ,а не наоборот.

   
 
 автор: cheops   (14.09.2005 в 21:44)   письмо автору
 
   для: kest131   (14.09.2005 в 13:54)
 

Всё равно не понятно... дело в том, что вы используете синтаксис вложенных запросов и это всех сбивает с толку :))) Давайте я попытаюсь переформулировать вопрос, а вы скажете то это или нет.
В таблице два поля id и type, id имеет уникальное значение, а type может повторятся.
id type
1 1
2 1
3 1
4 2
5 2

Нужно отсортировать данные по type, а в пределах повторяющихся значений id провести сортировку по id. Если я угадал, запрос должен выглядеть следующим образом
select id, type from test orderby type desc, id desc

или
select id, type from test orderby type, id

в зависимости от того, нужна прямая или обратная сортировка.

   
 
 автор: kest131   (14.09.2005 в 21:57)   письмо автору
 
   для: cheops   (14.09.2005 в 21:44)
 

Да только наоборот :
Сначала сортирует по id а потом по type.

Тагже колонка тип имеет не числовые данные,а данные в виде текста.
Так что order by type desc не катит.

   
 
 автор: Денис   (15.09.2005 в 15:45)   письмо автору
 
   для: kest131   (14.09.2005 в 21:57)
 

ну тогда, возможно, такой запрос:

select id, type from test where test. type LIKE '%', orderby  id desc

вообще,если type строка и ее нужно отсортировать в порядке возрастания/убывания - то скорее всего не получиться.

   
 
 автор: kest131   (15.09.2005 в 23:27)   письмо автору
 
   для: Денис   (15.09.2005 в 15:45)
 

Мне нужно вообще не это.

Я спрашиваю можно ли сортировать данные не по таблице а по запрсу из таблицы.
Например:

Сортировать данные по запрсу (select id,bal from test)

select id по (select id,bal from test);

   
 
 автор: Денис   (16.09.2005 в 01:08)   письмо автору
 
   для: kest131   (15.09.2005 в 23:27)
 

На сколько правильно, не уверен, но возможно этот запрос решит вашу проблему:
SELECT distinct(id), bal, type FROM test GROUP BY type
И еще вопрос: все ли данные в таблице являются числами, нет ли среди выбираемых элементов VARCHAR или TEXT?
В дополнение, хочу порекомендовать прикрепляемый мною файл - к сожалению, не могу дать вам ссылку на форуме - не нашел. Возможно, вы решите свою проблему.

   
 
 автор: Евгений Петров   (16.09.2005 в 01:15)   письмо автору
 
   для: kest131   (15.09.2005 в 23:27)
 

Да че ты всех мучаешь? Ты б лучше немного постарался нарисовал таблицу со значениями (примерно такую как привел cheops несколько постов выше) и вторую таблицу - то что надо получить. Вот тогда бы всем предельно ясно стало что тебе надо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования