|
|
|
| Можно ли как нибуть сортировать данные не по таблице а по другому запросу.
Например:
select id from (select id from test) order by id desc;
|
| |
|
|
|
|
|
|
|
для: kest131
(14.09.2005 в 10:27)
| | Не очень понятно - вы используете вложенные запросы? Сортировку по чему вы хотите провести и какова исходная задача? | |
|
|
|
|
|
|
|
для: cheops
(14.09.2005 в 13:43)
| | Сортировка по запросу
Исходная задача :сортировать данные по запросу (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;
|
Только написать не знаю как правильно. | |
|
|
|
|
|
|
|
для: 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;
|
| |
|
|
|
|
|
|
|
для: napTu3aH
(14.09.2005 в 18:48)
| | Мне нужно немного другое.
То что вы предложили сортируе данные из полученых значений после функции (group by type ) и упорядочивает.
Нужно что-бы было так что бы сначало шла сортировка (order by id desc) а уже потом сортировалась (group by type ) ,а не наоборот. | |
|
|
|
|
|
|
|
для: 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
|
в зависимости от того, нужна прямая или обратная сортировка. | |
|
|
|
|
|
|
|
для: cheops
(14.09.2005 в 21:44)
| | Да только наоборот :
Сначала сортирует по id а потом по type.
Тагже колонка тип имеет не числовые данные,а данные в виде текста.
Так что order by type desc не катит. | |
|
|
|
|
|
|
|
для: kest131
(14.09.2005 в 21:57)
| | ну тогда, возможно, такой запрос:
select id, type from test where test. type LIKE '%', orderby id desc
|
вообще,если type строка и ее нужно отсортировать в порядке возрастания/убывания - то скорее всего не получиться. | |
|
|
|
|
|
|
|
для: Денис
(15.09.2005 в 15:45)
| | Мне нужно вообще не это.
Я спрашиваю можно ли сортировать данные не по таблице а по запрсу из таблицы.
Например:
Сортировать данные по запрсу (select id,bal from test)
select id по (select id,bal from test); | |
|
|
|
|
|
|
|
для: kest131
(15.09.2005 в 23:27)
| | На сколько правильно, не уверен, но возможно этот запрос решит вашу проблему:
SELECT distinct(id), bal, type FROM test GROUP BY type
И еще вопрос: все ли данные в таблице являются числами, нет ли среди выбираемых элементов VARCHAR или TEXT?
В дополнение, хочу порекомендовать прикрепляемый мною файл - к сожалению, не могу дать вам ссылку на форуме - не нашел. Возможно, вы решите свою проблему. | |
|
|
|
|
|
|
|
для: kest131
(15.09.2005 в 23:27)
| | Да че ты всех мучаешь? Ты б лучше немного постарался нарисовал таблицу со значениями (примерно такую как привел cheops несколько постов выше) и вторую таблицу - то что надо получить. Вот тогда бы всем предельно ясно стало что тебе надо. | |
|
|
|