Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 12:09 15.06.24 
Компютри и Интернет
   >> Бази данни
*Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема MySQL -> ORDER BYнови  
Автор Dakota (erotoman)
Публикувано15.10.03 17:33



Имам 2 таблици - table_x и table_y.

Правя им join и ги сортирам:

SELECT

x.id,
y.name
FROM
table_y y INNER JOIN table_x x
ON
x.y_id=y.id
ORDER BY
2


Интересува ме как MySQL сортира резултата в случай, че y.name е едно и също?

Everything louder than everything else...

Тема Мразя joinнови [re: Dakota]  
Автор bira_more (член)
Публикувано15.10.03 18:49



На времето брах ядове.
Дали не можеш да минеш с обикновен селект?



Тема Re: MySQL -> ORDER BYнови [re: Dakota]  
Автор ro6avia (ламерясал)
Публикувано15.10.03 19:24



Както казва salle ЗАВИСИ
направи го :
SELECT
x.id,
y.name
FROM
table_y y INNER JOIN table_x x
ON
x.y_id=y.id
ORDER BY
2,1 както си се изразил :-))

Е тук нищо няма:



Тема Re: MySQL -> ORDER BYнови [re: Dakota]  
Автор salle (един такъв)
Публикувано15.10.03 22:11



Случайно естествено. Как иначе?



Тема Re: MySQL -> ORDER BYнови [re: salle]  
Автор Dakota (erotoman)
Публикувано16.10.03 12:01



Как така случайно?...Точно от това се страхувах. Не би ли трябвало една и съща заявка при наличие на едни и същи данни винаги да изкарва едно и също нещо?!...Да взима default сортирането на таблиците, които join-вам една след друга и така да сортира...но само не и random!

Everything louder than everything else...

Редактирано от Dakota на 16.10.03 12:03.



Тема Re: MySQL -> ORDER BY [re: Dakota]  
Автор voyager (прасе в космоса)
Публикувано16.10.03 14:11



Не би ли трябвало една и съща заявка при наличие на едни и същи данни винаги да изкарва едно и също нещо?!

Цъ . (това даже и аз го знам )

Все пак защо просто не сортираш?

Второ (това просто си питам) - има ли някаква реална полза от тоя JOIN в момента - искам да кажа с нещо по-добър ли е от още една клауза в WHERE?



Тема Re: АБВ на Релационните БД ... пакнови [re: Dakota]  
Автор salle (един такъв)
Публикувано16.10.03 14:36



Dakota
Това май вече сме ти го обяснявали ...

"Не би ли трябвало една и съща заявка при наличие на едни и същи данни винаги да изкарва едно и също нещо?!"

Проблема ти е в разбирането на НЕЩОТО.

Та значи според релационния модел таблиците са множества.

А според теорията на множествата (x, y, z) и (z, x, y) е едно и също множество - реда няма значение.

Точно затова когато НЕ СИ указал ORDER BY сървъра е в правото си да ти върне резултата в произволен ред. Забележи, че дори не е случаен а е произволен.

Тъй, че една и съща заявка без ORDER BY при едни и същи данни ще ти връща едно и също множество от редове, но може при 10 последователни изпълнения да ти ги върне в 10 различни подредби.

Между другото ако това правило не съществуваше огромна част от оптимизациите в базите данни нямаше да са възможни.



Тема Re: АБВ на Релационните БД ... пакнови [re: salle]  
Автор Dakota (erotoman)
Публикувано16.10.03 16:13



Не си спомням, да сте ми го обяснявали.

Мерси за разяснението, все пак.

По тази логика, обаче, излиза, че дори да нямам JOIN, то пак MySQL би трябвало да ми връща нещата в произволен ред, но в действителност не е така...или пак бъркам?!

Everything louder than everything else...


Тема Re: MySQL -> ORDER BYнови [re: voyager]  
Автор Dakota (erotoman)
Публикувано16.10.03 16:23



1. Не ги сортирах, защото не знаех за това поведение на MySQL. Използвам един Paging/Sorting class, който написах, и в който подавам параметри, един от които е полето, по което да се сортира - като номер. Изглежда ще трябва да добавя едно допълнително ,1 в ORDER BY частта, дори и да се получават абсурдни заявки като ...ORDER BY 1 DESC, 1.

2. Всъщност, дори и да вкарам нещата в WHERE частта, това би било разносилно на INNER JOIN. А принципно, моята заявка е със 7-8 таблици, така че не става.

Everything louder than everything else...


Тема Re: АБВ на Релационните БД ... пакнови [re: Dakota]  
Автор salle (един такъв)
Публикувано16.10.03 16:56



Точно така.

Прави разлика обаче между случаен и произволен.

Произволен значи, че сървъра има правото да го избира. Включително и винаги да е един и същ. Въпросът е, че в момента в който не указваш изрично ORDER BY всъщност казваш на сървъра, че те ти пука какъв ще е редът. Това е логиката. И тя винаги е била такава за релационните бази данни





Страници по тази тема: 1 | 2 | >> (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.