meem2 Posted October 8, 2012 Report Share Posted October 8, 2012 sveicinati, tā ka esmu iesācejs lūdzu saudzigi izturaties ar mani :) mana problema no datubazes izvelku rakstus un ieraksti var būt vienādi $results=mysql_query("SELECT * FROM tabula"); while($rows = mysql_fetch_array($results)) 1 | reizrekins 2 | saskaitisana 3 | dalisana 4 | reizrekins 5 | dalisana un protams ieraksti atkartojas kā lai es dabonu tā lai ieraksts neatkartojas? mana doma ir tabut šādu tabulu, kurā ir sakotnejais nosaukums un apakša visi rezultāti: reizrekins 1 | reizrekins 4 | reizrekins saskaitisana 2 | saskaitisana dalisana 3 | dalisana 5 | dalisana Ceru, ka sapratāt ko domāju. Link to comment Share on other sites More sharing options...
upiz Posted October 8, 2012 Report Share Posted October 8, 2012 mysql_query("SELECT DISTINCT reekinu_kolonna FROM tabula") Link to comment Share on other sites More sharing options...
meem2 Posted October 8, 2012 Author Report Share Posted October 8, 2012 liels paldies, tieši tas ko vajag :) Link to comment Share on other sites More sharing options...
meem2 Posted October 8, 2012 Author Report Share Posted October 8, 2012 (edited) vēl viens jautājums tabula ar rezultatiem id | name | r1 | r2 | r3 | r4 | r5 ------------------------------------ 1 | reizrekins | 1 | 2 | 3 | 4 | 5 2 | saskaitisana | 1 | 2 | 3 | 4 | 5 3 | dalisana | 1 | 2 | 3 | 4 | 5 4 | reizrekins | 5 | 4 | 3 | 2 | 1 5 | dalisana | 5 | 4 | 3 | 2 | 1 kad visu esmu salicis ka domaju ir reizrekins 1 | reizrekins | 1 | 2 | 3 | 4 | 5 4 | reizrekins | 5 | 4 | 3 | 2 | 1 saskaitisana 2 | saskaitisana | 1 | 2 | 3 | 4 | 5 dalisana 3 | dalisana | 1 | 2 | 3 | 4 | 5 5 | dalisana | 5 | 4 | 3 | 2 | 1 kā lai pie virsraksta dabonu videjo aritmetisko, ja tas ir maz iespejams ;) reizrekins | 3 | 3 | 3| 3 | 3 1 | reizrekins | 1 | 2 | 3 | 4 | 5 4 | reizrekins | 5 | 4 | 3 | 2 | 1 saskaitisana | 1 | 2 | 3 | 4 | 5 2 | saskaitisana | 1 | 2 | 3 | 4 | 5 dalisana| 3 | 3 | 3| 3 | 3 3 | dalisana | 1 | 2 | 3 | 4 | 5 5 | dalisana | 5 | 4 | 3 | 2 | 1 Edited October 8, 2012 by meem2 Link to comment Share on other sites More sharing options...
aaxc Posted October 8, 2012 Report Share Posted October 8, 2012 Pamēģini apmēram šādi: SELECT DISTINCT reekinu_kolonna, SUM( ( r1 + r2 + r3 + r4 + r5 ) / 5 ) as average FROM tabula GROUP BY reekinu_kolonna PS: Izvairies lietot latviskus nosaukumus kodā, tai skaitā arī datubāžu laukos. Link to comment Share on other sites More sharing options...
meem2 Posted October 8, 2012 Author Report Share Posted October 8, 2012 Pamēģini apmēram šādi: SELECT DISTINCT reekinu_kolonna, SUM( ( r1 + r2 + r3 + r4 + r5 ) / 5 ) as average FROM tabula GROUP BY reekinu_kolonna PS: Izvairies lietot latviskus nosaukumus kodā, tai skaitā arī datubāžu laukos. tie mani piemeri ir ka piemeri, datubaze viss ir uz anglisko. bet īsti mani laikam nesaprati - tas vidējais jāvelk no dažādiem ierakstiem, nevis no viena ieraksta kolonnām Link to comment Share on other sites More sharing options...
aaxc Posted October 8, 2012 Report Share Posted October 8, 2012 (edited) Var taisīt šādi, bet ir noteikti arī labāks risinājums: SELECT DISTINCT t.reekinu_kolonna, ( SELECT SUM( a.r3 ) FROM tabula a WHERE a.reekinu_kolonna = r.reekinu_kolonna ) AS sum_r3 FROM tabula t; Un vari izdalīt ar count(r3) manuprāt un iegūt vidējo, bet shis risinājums būs pamatīgi lēns, ja datubāze ir liela un query jāizplidas regulāri + tas selects papildus select jāveic visām 5 kolonnām šajā gadījumā. Es tev ieteiktu izvilkt vienkārši datus, iemest masīvā un tad php pusē to masīvu apstrādāt. Būs stipri ātrāk. Edited October 8, 2012 by aaxc Link to comment Share on other sites More sharing options...
meem2 Posted October 8, 2012 Author Report Share Posted October 8, 2012 skaidrs, paldies par info Link to comment Share on other sites More sharing options...
Recommended Posts