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

distinct count po uslovu

[es] :: MySQL :: distinct count po uslovu

Strane: 1 2

[ Pregleda: 5528 | Odgovora: 27 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: distinct count po uslovu12.04.2016. u 13:48 - pre 96 meseci
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.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: distinct count po uslovu12.04.2016. u 14:05 - pre 96 meseci
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
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: distinct count po uslovu12.04.2016. u 16:35 - pre 96 meseci
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.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: distinct count po uslovu12.04.2016. u 17:41 - pre 96 meseci
da, left outer self join pomaze kod mysql-ovih nedostataka u odnosu na
sql standard .. nije ubitacno brzo ali radi posao .. mada evo placem na
prava vrata vec dugo vreme mozda bude uskoro :D
 
Odgovor na temu

Orome
programer

Član broj: 273201
Poruke: 115
193.17.204.*



+1 Profil

icon Re: distinct count po uslovu13.04.2016. u 08:41 - pre 96 meseci
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.
 
Odgovor na temu

anon115774

Član broj: 115774
Poruke: 1656



+920 Profil

icon Re: distinct count po uslovu13.04.2016. u 10:40 - pre 96 meseci
Ja koliko sam razumeo covek hoce ovo:

Code:
select count(distinct id) from t1 where flag = 0
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: distinct count po uslovu13.04.2016. u 11:09 - pre 96 meseci
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



[Ovu poruku je menjao dusans dana 13.04.2016. u 12:22 GMT+1]
 
Odgovor na temu

anon115774

Član broj: 115774
Poruke: 1656



+920 Profil

icon Re: distinct count po uslovu13.04.2016. u 11:26 - pre 96 meseci
E onda sam ja totalno promasio sta je on hteo ili on nije objasnio dobro :)
 
Odgovor na temu

[es] :: MySQL :: distinct count po uslovu

Strane: 1 2

[ Pregleda: 5528 | Odgovora: 27 ] > FB > Twit

Postavi temu Odgovori

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