Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako limitirati select u zavisnosti od vrednosti polja?

[es] :: MySQL :: kako limitirati select u zavisnosti od vrednosti polja?

[ Pregleda: 1042 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zgas

Član broj: 74613
Poruke: 207
*.ptt.yu.



Profil

icon kako limitirati select u zavisnosti od vrednosti polja?19.05.2007. u 10:42

Pokusacu da pitam prema primeru:

U jednoj tabeli imam kolonu 'slova' u kojoj se ponavljaju vrednosti:
- 'a' 4 puta
- 'b' 3 puta
- 'c' 1 put

___
| a |
| a |
| a |
| a |
| b |
| b |
| b |
| c |


Potrebno mi je da selectujem rezultat iz tabele ali tako da se uzima iz pomenute kolone 'slova' od svake vrednosti po najvise 2 reda.
Znaci posle takvog selecta bi trebao da dobijem ovaj rezultat:

___
| a |
| a |
| b |
| b |
| c |

Kako to moze da se izvede u selectu?
19.05.2007. u 10:42 

357_97

Član broj: 53056
Poruke: 53
*.eunet.yu.



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?19.05.2007. u 13:09
Ako sam te dobro razumeo mislim da ce ti ovo pomoci...
19.05.2007. u 13:09 

zgas

Član broj: 74613
Poruke: 207
*.ptt.yu.



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?19.05.2007. u 15:45
Link koji ste napisali ne radi.
19.05.2007. u 15:45 

357_97

Član broj: 53056
Poruke: 53
*.eunet.yu.



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?19.05.2007. u 16:00
Greskom sam obrisao ? kad sam skidao session id...
Code:
http://www.devprotalk.com/showthread.php?t=2761
19.05.2007. u 16:00 

zgas

Član broj: 74613
Poruke: 207
*.ptt.yu.



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?22.05.2007. u 11:28
Da, video sam dva resenja i oba su mi neupoterbljiva:

1. sa inner join (problem je sto je potrebno N innner yoin-a ako imam je broj ogranicenih kolona za citanje N, i to je za mene previse jer su mi ogranicenja i po 1000)

2. je sa subselectom (problem je sto mi se skript ovde izvrsava nenormalno dugo - ne znam ni sam koliko bi trajao jer imam preko 300.000 kolona, a i jede momoriju na hard disku)

Interesuje me da li se to moze nekako resiti sa upotrebmo IF uslova, variabli...? Moze da bude napisan i MySQL skript, ne mora da bude sve u jednom queriju. Nisam expert za Mysql pa mi je ovo dosta komplikovano, a potrebno mi je.

Molim za pomoc, ako neko zna!
22.05.2007. u 11:28 

chachka
Srđan Mijatov
Subotica

Član broj: 53780
Poruke: 534
213.244.228.*

Sajt: www.baze-podataka.net


Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?23.05.2007. u 09:41
Code:

SELECT DISTINCT(slova) AS slova
  FROM jedna_tabela
 UNION ALL
SELECT DISTINCT(slova) AS slova
  FROM jedna_tabela
 GROUP BY slova
HAVING COUNT(slova) > 1
 ORDER BY slova

"The best code is no code at all." - Zidar
"biggest obstacle to learning SQL is unlearning procedural programming" - Joe Celko
23.05.2007. u 09:41 

zgas

Član broj: 74613
Poruke: 207
*.ptt.yu.



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?23.05.2007. u 21:05
Molim za pomoc! Nazalost ne znam sta radi predhodni upit i kako se koristi.
Molim vas da mi pomognete kako da ovaj poslednji uput primenim na situaciju opisanu u prvoj poruci koju sam napisao?

Paznja! U stvarnosti ne treba da dobijem vracene po dve kolone za istu vrednost, nego po 1000 kolona za instu vrednost.

Ne znam da li ovaj predhodni upit to dozvoljava i kako?
23.05.2007. u 21:05 

CandyMan

Član broj: 3420
Poruke: 101
*.hemofarm.com.



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?29.05.2007. u 07:02
http://www.elitesecurity.org/t53420
Nisam ni znao da znam dok nisam prob'o!
29.05.2007. u 07:02 

zgas

Član broj: 74613
Poruke: 207
*.ptt.yu.



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?07.06.2007. u 19:07
Posle malo testiranja zakljucio sam:

1. SUBSELECT (koji je ovde navedeno, i za koji su dati linkovi) ne radi.
Jednostavno za moju tabelu od 4000 redova pri primeni da se selektuje najvise 50 istih - ne radi.
Ako sam ga dobro primenio:

Code:

SELECT e1.imena FROM imena AS e1
  WHERE (50 > (select count(*) from imena e2
                    WHERE e2.id_mesta=e1.id_mesta))


Znaci hteo sam da iz svakog mesta selektujem po najvise 50 imena.

2. DISTINCT koji je jednom predlozen ne znam da upotrebim
u mom slucaju kada se treba selektovati najvise 50 istih redova

Molim vas,
meni nije neophodno da mi ovaj posao bude odradjen sa jednim QUERIJEM, vec slobodno mozete predloziti
i SQL skriptu. Znaci posto imam 5.0 Mysql, moze i LOOP metod i sl.

Molim vas ako imate neka druga resenja da mi pomognete?
Ovo mi je neophodno, a ne razumem se toliko da to mogu sam da uradim.
07.06.2007. u 19:07 

ffb
programer projektant
Pančevo

Član broj: 77308
Poruke: 22
*.net
Via: [es] mailing liste



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?08.06.2007. u 11:06
>


Code:

SELECT e1.imena FROM imena AS e1
 WHERE (50 > (select count(*) from imena e2
                   WHERE e2.id_mesta=e1.id_mesta))


Code:


SELECT  e1,imena,  COUNT(*) AS broj FROM imena AS e1 GROUP BY 
e1.id_mesta, HAVING broj<=50 ;

08.06.2007. u 11:06 

zgas

Član broj: 74613
Poruke: 207
*.ptt.yu.



Profil

icon Re: kako limitirati select u zavisnosti od vrednosti polja?08.06.2007. u 21:32
Ni ova dva upita predhodna ne rade kako treba, pogotovo ovaj drugi jer on vraca samo po jedano ime i to ne iz onih mesta koje imaju vise od 50 imena.

Znaci da ponovim,

teba mi upit koji ce da mi vrati iz svakog mesta po najvise pedeset imena.

Ima li resenja?
08.06.2007. u 21:32 

[es] :: MySQL :: kako limitirati select u zavisnosti od vrednosti polja?

[ Pregleda: 1042 | Odgovora: 10 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.