login  Naam:   Wachtwoord: 
Registreer je!
 Forum

lastige query

Offline Ronstert - 26/06/2007 16:41 (laatste wijziging 26/06/2007 16:45)
Avatar van RonstertMySQL interesse hoi,

volgende is het geval.
ik heb een table "answers" deze table heeft een veld "usrvalue".
usrvalue bevat een zootje gegevens van een test zoals bijv. antwrd1, antwrd2, antwrd3 enz tot antwrd22. nu wil ik het gemiddelde weten tussen antwrd1 en antwrd22.

antwoord 1 houdt in dat ik weet hoeveel mensen aan de test begonnen zijn. en bij antwoord 22 weet ik hoeveel mensen de test afgemaakt hebben

ik had iets van:
  1. SELECT count(a.usaid), count(b.usaid) FROM useranswer a, useranswer b WHERE a.usrvalue = 'antwrd1' AND b.usrvalue = 'antwrd22'


om de aantallen te krijgen, maar dat werkt ook niet echt.

en dan moet er nog gedeeld worden.

iemand een idee hoe dit te doen?.

7 antwoorden

Gesponsorde links
Offline JBke - 26/06/2007 16:52 (laatste wijziging 26/06/2007 16:56)
Avatar van JBke PHP gevorderde wil je nu het gemiddelde van antw1 .... antw22

  1. <?php
  2. $result = mysql_query("SELECT AVG(range) AS gemiddelde FROM tabel") or die(mysql_error());
  3. $row = mysql_fetch_array($result);
  4. echo $row['gemiddelde'];
  5. ?>


of wil je het aantal mensen dat begonnen is of geeindigd of een percentage van het aantal voltooide, je vraag is me een beetje onduidelijk?? is je veld ook altijd 22 antwoorden lang of niet??

zal eens eentje proberen ineen te steken voor je, ga het eerst testen, wil het proberen in 1 query te proppen.
Offline Ronstert - 26/06/2007 16:54 (laatste wijziging 27/06/2007 09:07)
Avatar van Ronstert MySQL interesse ik wil uiteindelijk het percentage van de mensen die de test afgemaakt hebben..

de test heeft 22 vragen elke keer als op een vraag een antwoord wordt gegeven zet hij het antwoord in de db. als men halverwege stopt. staan dr ook minder aanworden in.

dus eerst zou ik moeten tellen hoeveel vraag1 hebben beantwoord en dan hoeveel vraag22 hebben beantwoord. dan aantalvraag1/aantalvraag2*100 en dan heb ik mijn antwoord. alleen nu de query nog :D

iemand?.
Offline Analog - 27/06/2007 09:41
Avatar van Analog HTML interesse http://www.site...L/GROUP_BY

volgens mij heb je die nodig
Offline Ronstert - 27/06/2007 09:45
Avatar van Ronstert MySQL interesse neej daar kan ik niks mee
Offline Stijn - 27/06/2007 09:48
Avatar van Stijn PHP expert Je zal php moeten inschakelen 
  1. <?
  2. for( $i = 1 ; $i <= 22 ; $i++ ) {
  3. $aantal[$i] = mysql_result( mysql_query("SELECT COUNT(antwrd" . $i . ") AS aantalvraag" . $i . " FROM useranswer WHERE antwrd" . $i ." != NULL") , 0 );
  4. }
Je hebt nu een array met de totalen van de 22 vragen. De rest vind je wel .
Offline Ronstert - 27/06/2007 09:50
Avatar van Ronstert MySQL interesse tis voor stats. en daar kan ik alleen maar querysneerzette
Offline Stijn - 27/06/2007 10:09
Avatar van Stijn PHP expert
Citaat:
tis voor stats. en daar kan ik alleen maar querysneerzette
Waarover praat jij nu?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s