PDA

Pogčedajte punu verziju : prvo po jedan item svakog proizvodjaca, a onda ostatak


dee
21. 08. 2006., 20:52
ima li koga, mlogo mi je hitno? :)

imam tablicu nekih proizvoda. jedna od stavki je i 'proizvodjac'. znaci, recimo nesto tipa:

naziv proizvoda | opis | cijena | proizvodjac


trebam search koji radi ovo:

korisnik da upit, a query mu vrati sve proizvode vezane uz taj upit ali tako da prvo navede po jedan proizvod svakog proizvodjaca (koji je najrelevantniji po kriteriju), a nakon toga da ostatak sta je nasao. znaci, poanta je da se na vrhu rezultata vide svi proizvodjaci, da se ne desi situacija da recimo cijela prva strana bude samo jedan proizvodjac, nego prvo po jedan proizvod svih proizvodjaca a onda ostatak, nebitno kako.


:)

tnx

jablan
21. 08. 2006., 21:19
Ovo ti je zadatak za 2 upita, a ne za jedan... Prvi je da ti da po jedan proizvod od svakog proizvođača, drugi da vrati sve p. koji zadovoljavaju kriterijum...

dee
21. 08. 2006., 21:25
a kako da izvedem ovo za po jednog od svakog proizvodjaca?

jer, poanta je da prema zadanom kriteriju dobijem najrelevantniji jedan item svakog proizvodjaca. a nakon toga ostale rezultate samo po relevantnosti.

s tim da, oni koje sam izlisto u prvih par, gdje je po jedan od svakog proizvodjaca, da su iskljuceni iz ostatka rezultata. taj dio mi nije najbistriji.

jablan
21. 08. 2006., 21:35
Kako računaš relevantnost? Koja je baza/verzija u pitanju?

dee
21. 08. 2006., 21:59
relevance ide odavde:

SELECT * , MIN( cijena) AS min, MAX( cijena) AS max, COUNT( id ) AS broj, MATCH naziv AGAINST ('upit') AS relevance FROM `tablica` WHERE MATCH naziv AGAINST ('upit') GROUP BY naziv


a za verziju MySQLa ne znam. dobio sam tu skriptu nesto da editiram, tako da nemam pojma s kojom verzijom radi...

Blood
21. 08. 2006., 23:47
Probaj nesto ovako.

Recimo da trazis po opisu:

SELECT * FROM `tabela` WHERE `opis` LIKE `%$search%` GROUP BY `proizvodjac`;

Pedja
22. 08. 2006., 12:32
Aj' ti posalji jedan SQL skript koji kreira tabele sa testnim podacima... Ovo sto si poslao je prilicno konfuzno.

dee
22. 08. 2006., 12:43
Ma fora je sto sam dobio skriptu na edit bez baze bez iceg. Znam sta je u tablici po onom sta vidim u queryju. Skripta sa queryjima unutra i molbu -> hitno hitno :)

uglavnom , rijesio sam stvar sa dva upita. prvi ostaje ovako kao gore i on vadi sve iteme. drugi na kraju radi samo ...GROUP BY proizvodjac ORDER BY relevance i onda te rezultate (kojih je svega nekoliko) excludam iz prikaza ove potpune liste.

nije najljepse rjesenje, ali radi a kako ni cijela skripta nema veze s urednoscu i jedino bitno je 'odma', ne grize ni mene nesto savjest :)


hvala svima na pomoci