Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сортировка в join запросе 
:(
    Опции темы
lelik133
Дата 10.7.2009, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 3
Всего: 14



если ничего такого отсортируйте таблицы которую привел skyboy
PM ICQ   Вверх
skyboy
Дата 10.7.2009, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(realPROme @  10.7.2009,  09:56 Найти цитируемый пост)
то же самое, что если сортировать таблицу по неуникальному полю, в котором есть дубли... 

аналогия ясна.
усилим эффект:
Цитата

column0     column1      column2
     101            a                  c
     102            b                  b
     103            c                   a  

в каком порядке будет идти результат "обобщенной сортировки" по column1 и column2?
если порядок будет "101,102,103", то такой же эффект окажет "простая" сортировка по column1.
если порядок "103,102,101" - то это эквивалентно сортировке по одному поле column2.
если порядок "102,101,103" - то какой вообще смысл в подобной сортировке? с таким же успехом можно сортировать по случайному числу(order by rand())

Добавлено через 3 минуты и 44 секунды
Цитата(realPROme @  10.7.2009,  09:56 Найти цитируемый пост)
что если сортировать таблицу по неуникальному полю, в котором есть дубли... 

вообще говоря, если сравниваются два атомарных значения, то значение понятия дубликата очевидно.
так же не сложно выделить отношение "больше-меньше"
но для кортежей если отношение равенства ещё почти очевидно("a b c" равно "c a b"?), то отношение "больше-меньше"(необходимое для реализации сортировки) лично для меня вообще скрыто в тумане. 
PM MAIL   Вверх
realPROme
Дата 10.7.2009, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Цитата(skyboy @  10.7.2009,  17:28 Найти цитируемый пост)
в каком порядке будет идти результат "обобщенной сортировки" по column1 и column2?

в таком порядке, в каком сортируются поля строкового типа

в любом случае, в моей задаче все поля, по которым необходимо выполнять сортировку, имеют один и тот же тип (int)
PM MAIL   Вверх
youri
Дата 10.7.2009, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



realPROme, напиши алгоритм, потому что кроме тебя никто не знает, как сортировать "обобщенной сортировкой"
PM   Вверх
realPROme
Дата 11.7.2009, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



youri, какой тут может быть алгоритм?
я думал просто есть стандартные средства реализации такого
невижу ничего диковинного - ведь такая сортировка даже в пределах одной таблицы может быть нужной
PM MAIL   Вверх
bars80080
Дата 11.7.2009, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



так они и не спрашивают про реализации, а про алгоритм. то есть, что ты понимаешь под обощённой сортировкой.

какой ответ должен быть в случаях с примерами?
PM MAIL WWW   Вверх
realPROme
Дата 11.7.2009, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Цитата(bars80080 @  11.7.2009,  17:36 Найти цитируемый пост)
какой ответ должен быть в случаях с примерами?

column0     column1      column2
     101            a                  c
     102            b                  b
     103            c                   a  
с этим?
сортируется по некому временному columnX - который является объединением всех столбцов, а в чем проблема?
алгоритм - к примеру, используя MEMORY таблицу в нее производится экспорт соотв. данных, где каждый рядок "column0     column1      column2 и т.д." соотв. переименовывается в columnX, далее обычная сортировка по нему и все готово, или я чего-то не понимаю, проблема в чем?
PM MAIL   Вверх
Ипатьев
Дата 11.7.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Двое суток ушло на то, чтобы выяснить, что у него все-таки юнион.

Добавлено @ 19:15
Впервые всnречаю человека, который так настойчиво сопротивляется решению своей задачи.
Догадываюсь, впрочем, о причинах. Судя по всему, там настолько неоптимальная структура базы, что ее просто стыдно показать.

Это сообщение отредактировал(а) Ипатьев - 11.7.2009, 19:50
PM MAIL   Вверх
bars80080
Дата 11.7.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(Ипатьев @  11.7.2009,  19:13 Найти цитируемый пост)
Двое суток ушло на то, чтобы выяснить, что у него все-таки юнион

тут какбэ в тему, поэтому скажу.
довольно много многих постов идут в не в духе предложения какого-то решения автору, а на проталкивание хода дискуссии в нужном направлении, в ходе которого она всё имеет шанс развиться к чему-то полезному. даже если я принципиально не знаю что ответить на сам вопрос.
при этом, мне иногда приходится переводить не только вопросы авторам, но и ответы отвечающих.

проше пани, пишите подробнее, не жалейте слов
PM MAIL WWW   Вверх
Ипатьев
Дата 11.7.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Иногда я перестаю понимать, о чем пишут люди на этом форуме.
Цитата(bars80080 @  11.7.2009,  22:20 Найти цитируемый пост)
много многих постов идут в не в духе предложения какого-то решения автору

Как можно что-то предложить решение для задачи, которая не имеет решения?

PM MAIL   Вверх
bars80080
Дата 11.7.2009, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(Ипатьев @  11.7.2009,  22:36 Найти цитируемый пост)
Как можно что-то предложить решение для задачи, которая не имеет решения?

объяснить, что и почему, разобраться в фантазиях, в которых он пребывает, наставить на путь истинный.
а вдруг речь вообще о другом
PM MAIL WWW   Вверх
skyboy
Дата 12.7.2009, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(realPROme @  11.7.2009,  17:08 Найти цитируемый пост)
где каждый рядок "column0     column1      column2 и т.д." соотв. переименовывается в columnX, далее обычная сортировка по нему и все готово

Код

ORDER BY concat(column1, column2)
?
Для какой структуры БД такое может пригодиться?!
PM MAIL   Вверх
realPROme
Дата 12.7.2009, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Цитата(bars80080 @  11.7.2009,  22:20 Найти цитируемый пост)
пишите подробнее, не жалейте слов

это мне? я непонятно писал? вроде старался все расписать...

Цитата(skyboy @  12.7.2009,  12:07 Найти цитируемый пост)
Для какой структуры БД такое может пригодиться?!

вот надо что-то типа такого, только с учетом, что поля целочисленные, а не строковые...

задача вообще какая: есть большой готовый проект, в рамках которого множество различных сервисов, соотв. - много различных таблиц, но в каждой из них есть некое поле - штамп времени события... вот по нему и надо выполнять сортировку - выбирать все события из десятка различных по структуре таблиц, сортируя по времени...
PM MAIL   Вверх
skyboy
Дата 12.7.2009, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(realPROme @  12.7.2009,  12:28 Найти цитируемый пост)
выбирать все события из десятка различных по структуре таблиц, сортируя по времени... 

товарищи solenko и Ипатьев  вполе конкретно говорили:тебе нужен union.
ты же как мог открещивался и убеждал, что тебе нужен join.
в итоге, озвучил-таки структуру(хоть и абстрактно, без кода). и вот решение:
Код

SELECT <поле с датой>, <остальные поля>
FROM таблица1
UNION ALL
SELECT <поле с датой>, <остальные поля>
FROM таблица2
.....
UNION ALL
SELECT <поле с датой>, <остальные поля>
FROM таблицаN
ORDER BY 1

и все.
PM MAIL   Вверх
Ипатьев
Дата 12.7.2009, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Цитата(realPROme @  12.7.2009,  13:28 Найти цитируемый пост)
вроде старался все расписать...

Это неправда.

Реплики вида
Цитата(realPROme @  9.7.2009,  14:04 Найти цитируемый пост)
а какая разница?

Цитата(realPROme @  9.7.2009,  15:30 Найти цитируемый пост)
давайте просто считать, что вопрос чисто ради интереса задан 

 - говорят ровно о противоположном. 

Я согласен с bars80080, писать надо подробнее.  Всего-то надо было написать три строчки из последнего сообщения. И тут же ему написали запрос. Зачем было в течение предыдущих трех дней устраивать представление - я не понимаю.



PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1061 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.