Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 27 odgovora
  • 8.228 pregleda

Najnovija ↓

Re: distinct count po uslovu 12.04.2016. u 14:48 · pre 128 meseci #21
Jablan je dao genijalno rešenje, super dosetka.
Mada može da bude problema sa performansama ako ima puno ne-0 podataka
pošto se radi o "skoro" dekartovom proizvodu po id-u kod join-a.
Re: distinct count po uslovu 12.04.2016. u 15:05 · pre 128 meseci #22
yup, odlicno resenje, ne znam kako sam ga preskocio

@jablan, ja sam pretpostavio iz njegovog zahteva da mu je rj "nebitan podatak" te da mu bilo koji iz grupe radi posao a da hoce da grupise po ID i da mu je id bitan podatak te max() tu znaci "daj bilo koji" a on u stvari oce group by rj i count .. skroz druga prica
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: distinct count po uslovu 12.04.2016. u 17:35 · pre 128 meseci #23
Citat:
dusans:
Jablan je dao genijalno rešenje, super dosetka.
Mada može da bude problema sa performansama ako ima puno ne-0 podataka
pošto se radi o "skoro" dekartovom proizvodu po id-u kod join-a.

Nije u pitanju dosetka, ovo (self LEFT OUTER JOIN + IS NULL uslov) je klasičan pristup u mnogo situacija (npr traženje lokalnog maksimuma itd)... I tačno je da je sporije (makar na mysql-u), probao sam sa oko milion redova.

Inače, u vašem pristupu (subquery) bih umesto SUM() koristio npr BIT_OR() agregatnu funkciju, mislim da ima više smisla za flagove, a i ne pravi problem sa negativnim vrednostima.
Re: distinct count po uslovu 13.04.2016. u 09:41 · pre 128 meseci #25
Citat:
dusans:
id ispunjava uslov ako su sve njegove pojave sa flag=0.
Pošto je nedorečeno, pojasni - da li si mislio na pojave u celoj tabeli ili samo na pojave u posmatranoj rj?


u celoj tabeli grupisano po rj.
Re: distinct count po uslovu 13.04.2016. u 12:09 · pre 128 meseci
izmenjeno 1 put, poslednji put dusans 13.04.2016. u 12:22
  1. dusans13.04.2016. u 12:22zapis iz teksta poruke
#27
On je hteo da izbroji koliko različitih ID-eva koji "ispunjavaju uslov" ima po svakoj rj.
ID "ispunjava uslov" kada sve njegove pojave u okviru posmatrane rj imaju flag=0.

Code:

Input:
rj   id   flag
1    1    0
1    1    0
1    2    0
1    3    0
1    3    1
1    4    1
2    1    0
2    2    0
2    2    1
2    4    0
2    5    0
3    3    0

Output:
rj   id_count
1    2
2    3
3    1
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme