SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
![]() |
|
Alati teme | Način prikaza |
![]() |
#1 |
Ivan Dilber
Sir Write-a-Lot
|
![]() recimo da imam ovakvu mysql tabelu
Kôd:
Group_ID Flag 1 no 1 no 1 yes 2 no 2 no 1: yes 2: no jel ima neko ideju ? Da su 0 i 1 odradio bih SUM(flag), ili tako nesto, ali ovako sam malo u zbunu...
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 25. 02. 2010. u 00:18. |
![]() |
![]() |
![]() |
#2 |
Ivan Dilber
Sir Write-a-Lot
|
![]() na kraju sam napravio GROUP_CONCAT(flag) pa onda u rezultatima iz php-a sa strpos() proveravam jel se pojavljuje 'yes' u tom stringu, ali to je potpuno debilno resenje (mada zapravo prilicno brzo)
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 25. 02. 2010. u 01:00. |
![]() |
![]() |
![]() |
#3 |
Miljenko Rebernišak
Qualified
Datum učlanjenja: 05.03.2009
Lokacija: Jagodina-Beograd
Poruke: 191
Hvala: 4
25 "Hvala" u 22 poruka
![]() |
![]() Da sad sam testirao, u medjuveremenu sam obrisao i poruku jer sam se setio da nece uraditi. Probacu da nadjem gde sam imao taj problem i kako sam ga resio
__________________
Me on twitter |
![]() |
![]() |
![]() |
#4 |
Miljenko Rebernišak
Qualified
Datum učlanjenja: 05.03.2009
Lokacija: Jagodina-Beograd
Poruke: 191
Hvala: 4
25 "Hvala" u 22 poruka
![]() |
![]() Evo nasao sam
Kôd:
SELECT MAX(flag),Group_ID FROM `test` GROUP BY `Group_ID` Kôd:
yes 1
__________________
Me on twitter |
![]() |
![]() |
"Hvala" razno za poruku: |
![]() |
#5 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Može i vako:
Kôd:
# select * from test; group_id | flag ----------+------ 1 | no 1 | yes 2 | no 2 | no 1 | no (5 rows) # select t1.group_id, coalesce(t2.flag,'no') as f from test t1 left join test t2 on t1.group_id = t2.group_id and t2.flag = 'yes' group by t1.group_id, f; group_id | f ----------+----- 1 | yes 2 | no (2 rows) |
![]() |
![]() |
2 članova zahvaljuje jablan za poruku: |
![]() |
#6 |
član
Certified
|
![]() Trebalo bi da može i ovako:
Kôd:
SELECT * FROM (SELECT * FROM yesno ORDER BY group_id ASC, flag DESC) tmp GROUP BY group_id |
![]() |
![]() |
![]() |
#7 |
Ivan Dilber
Sir Write-a-Lot
|
![]() @mare: nece to raditi, to je @razno bio prvo napisao, pa je obrisao poruku. Prvo se radi grupisanje, pa tek onda sortiranje, probao sam... to je verovatno optimizacija, da bi se smanjio broj elemenata koji se sortiraju...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
![]() |
![]() |
![]() |
#8 |
član
Certified
|
![]() @ivanhoe:
Pokrenuo sam upit pre nego sto sam postovao ovde i radilo je. Zbog razloga koje si pomenuo ovaj upit ne bi radio: Kôd:
SELECT * FROM GROUP BY group_id ORDER BY group_id ASC, flag DESC Kôd:
SELECT * FROM (SELECT * FROM yesno ORDER BY group_id ASC, flag DESC) tmp GROUP BY group_id |
![]() |
![]() |
![]() |
#9 |
Ivan Dilber
Sir Write-a-Lot
|
![]() ah izvini, nisam pazljivo procitao, prevideo sam 2 selecta, da, ovo je ok
__________________
Leadership is the art of getting people to want to do what you know must be done. |
![]() |
![]() |
![]() |
#10 |
član
Certified
Datum učlanjenja: 23.02.2009
Poruke: 55
Hvala: 0
11 "Hvala" u 7 poruka
![]() |
![]() Pretpostavljam da ti je ova tabela "flags" povezana sa tabelom "grupe" tako da bih ja uradio nesto slicno sledecem:
Kôd:
SELECT g.Group_ID, SUM(IF(f.Flag IS NOT NULL, 1, 0)) AS ImaFlag FROM Grupe g LEFT JOIN Flags f ON g.Group_ID=f.Group_ID GROUP BY g.Group_ID ; Kôd:
Group_ID | NULL |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
count() i group by = nema rezultata za slucaj kada je count() = 0 | BrainDamage | SQL baze podataka - Sponzor: Baze-Podataka.net | 6 | 26. 08. 2008. 23:51 |
Najbolja aplikacija za group blog | Dejan Bizinger | Web aplikacije, web servisi i software | 3 | 04. 12. 2006. 15:04 |
http://www.last.fm/group/devprotalk | oliver | Opušteno | 22 | 07. 11. 2006. 13:32 |
Qualysoft Group - Senior java developer | Aleksandar.Ilic | Poslovne ponude i zapošljavanje | 0 | 31. 10. 2006. 11:41 |
GROUP BY grrrr | Blood | SQL baze podataka - Sponzor: Baze-Podataka.net | 2 | 05. 09. 2006. 20:00 |