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

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

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

Тема Помогнете за една MySQL заявканови  
Авторнy зaяц (Нерегистриран)
Публикувано01.09.05 10:57



Ако имаме следната таблица

ID Num Data
1 20 8
2 15 6
3 20 10
4 20 7
5 15 8

смисъла на полето Num e ID'ta от друга таблица

Искам да се направи заявка която да ми изкара ID 3 и 5 понеже:
максималната Data за Num = 20 е 10 - стойностите за Num = 20 са (8,10,7)
а максималната Data за Num = 15 е 8 - стойностите за Num = 15 са (6,8)
Т.е търсим тези ID'та с максималното Date за всеки различен Num

Самата таблица има над 11000 записа ако може да с еима в предвид при констроирането на заявката от гледна точка на бързината на изпълнението.

Ще съм много благодарен ако някой успее да помогне
Благодаря предварително.



Тема Re: Помогнете за една MySQL заявканови [re: нy зaяц]  
Автор Dakota (erotoman)
Публикувано01.09.05 13:16



Въпросът ти удивително много прилича на

.

Everything louder than everything else...

Тема Re: Помогнете за една MySQL заявканови [re: Dakota]  
Авторнy зaяц (Нерегистриран)
Публикувано01.09.05 14:35



Да наистина много прилича, а аз разгледах това мнение след като бях постнал моето но има една разлика че при мен е от значение да изважда само по едно ID за дадено Num а самите Date не са подредени по нарастващ ред. А другото е че при база с големина от 11000 записа заявки с по сложни субкуерита почти блокира пц'то аз пробвай някакви варианти при които обработката на заявката отне повече от 10 мин



Тема Re: Помогнете за една MySQL заявканови [re: нy зaяц]  
Автор salle (един такъв)
Публикувано01.09.05 15:16



А индекси нямаш ли?
Какво казва EXPLAIN по въпроса?

Пробвай т.нар. Max concat трик





Тема Re: Помогнете за една MySQL заявканови [re: нy зaяц]  
Автор Dakota (erotoman)
Публикувано01.09.05 15:29



Да де, и там трябваше да излезе само по едно a_id за дадено b_id, и c не беше подредено по големина. Поне аз не виждам никаква разлика, освен в имената на колоните.

А за скоростта на изпълнението, трябва да видиш какво дава explain, както каза salle.

Everything louder than everything else...


Тема Re: Помогнете за една MySQL заявканови [re: нy зaяц]  
Авторnu zaqc (Нерегистриран)
Публикувано01.09.05 16:16



Hmm EXPLAIN kaza mnogo raboi koito na men chestno kazano nishto ne mi goworqt - opredeleno dosta raboti neznam w mysql.
Opitah se da resha problema kato razbih zaqwkite na 2 chasti i s pomoshta na php gi obrabotwam. Reshenieto rabot no e bawno wse pak .
Ima li nachin tezi 2 zaqwki da se optimizirat w edna i da se zaobikoli polzwaneto na php?

TABLE1 e tablica q koqto se sydyrjat unikalnite Num te sa primary key
TABLE2 e tablicata koqto sym posochil w pyrwiq si post
Eto taka reshih problema s PHP/ima li po elegantno reshenie samo s mysql zaqwka spored was?/

select Num from TABLE1 - zapiswam rezultatite w masiw1

select max(Data) from TABLE2 where Num = /tuk izrejdam rezultatite ot gorniq masiw1 - i priswoqwam za wsqko Num poluchenoto max(Data) w drug masiw2;

select ID from TABLE2 where Num = /danni ot masiw1 / and Data = /danni ot masiw2/



Тема Re: Помогнете за една MySQL заявка [re: nu zaqc]  
Автор _danitu (аз)
Публикувано01.09.05 16:51



SELECT Num, MAX(Data)
FROM `table`
GROUP BY Num; ти дава максималното Data за всеки Num , пъхни го във временна таблица



Тема Re: ... погоди ...нови [re: nu zaqc]  
Автор salle (един такъв)
Публикувано01.09.05 18:23



Та какво рече EXPLAIN?

Както Даниту ти рече винаги можеш да:

CREATE TEMPORARY TABLE tmp SELECT ...;
SELECT ... FROM tmp ... ;

Ама може и да може и без



Тема blagodarq na wsichkiнови [re: salle]  
Авторnu zaqc (Нерегистриран)
Публикувано01.09.05 20:12



Da towa koeto me posywetwa danitu pomogna, s wremena tablica i tazi zaqwka rezultata se poluchawa byrzo i e korekten.

Blagodarq na wsichki za pomoshta!




Всички темиСледваща тема*Кратък преглед
Клуб :  


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

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