Oud 02-12-2004, 15:31
appiegogogo
appiegogogo is offline
hallo iedereen,

mag je een functie plaatsen achter een "WHERE" in SQL, dus bijvoorbeeld


.......
......
WHERE COUNT(*);


en mijn tweede vraag gaat over het volgende probleem:
Stel dat we een tabel hebben met 1 kolom genaamd "cijfers", deze tabel bevat 20 cijfers van een student voor een bepaalde vak, nu willen we met behulp van SQL de 5 hoogste cijfers weergeven op het scherm, hoe moet DIT......



alvast bedankt,


Appieeeeeeee
__________________
waar blijft mijn eten?!
Met citaat reageren
Advertentie
Oud 02-12-2004, 15:37
Koen
Avatar van Koen
Koen is offline
Citaat:
appiegogogo schreef op 02-12-2004 @ 16:31 :
hallo iedereen,

mag je een functie plaatsen achter een "WHERE" in SQL, dus bijvoorbeeld


.......
......
WHERE COUNT(*);
Volgens mij wel, not sure. Wat heb je geprobeerd?

Citaat:

en mijn tweede vraag gaat over het volgende probleem:
Stel dat we een tabel hebben met 1 kolom genaamd "cijfers", deze tabel bevat 20 cijfers van een student voor een bepaalde vak, nu willen we met behulp van SQL de 5 hoogste cijfers weergeven op het scherm, hoe moet DIT......

alvast bedankt,


Appieeeeeeee
SELECT cijfers FROM tabel ORDER BY cijfers DESC LIMIT 0,5
Met citaat reageren
Oud 02-12-2004, 16:12
Verwijderd
Dat laatste snap ik niet, een tabel met 1 kolom met cijfers. Dat zou dus betekenen dat je maar voor 1 leerling de cijfers kan opslaan? Of voor elke leerling een tabel maken, dat lijkt me niet echt handig.
Met citaat reageren
Oud 02-12-2004, 16:17
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Nee, in het WHERE gedeelte mag je geen Count gebruiken, volgens mij...

ik dacht dat je daarbij having moest gebruiken.

edit: al slaat het natuurlijk als een lul op een drumstel om gewoon "count" te doen...je moet wel met iets vergelijken he..

Laatst gewijzigd op 02-12-2004 om 16:44.
Met citaat reageren
Oud 02-12-2004, 16:19
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
eXo schreef op 02-12-2004 @ 17:12 :
Dat laatste snap ik niet, een tabel met 1 kolom met cijfers. Dat zou dus betekenen dat je maar voor 1 leerling de cijfers kan opslaan? Of voor elke leerling een tabel maken, dat lijkt me niet echt handig.
Tabel cijfers = { studentid, cijfer1, cijfer2,..., cijfer20 }
Met citaat reageren
Oud 02-12-2004, 19:23
Verwijderd
1) Hiervoor heb je de prachtige GROUP BY / HAVING.

2) SELECT TOP 5 * FROM cijfers_tabel ORDER BY cijfers DESC
Met citaat reageren
Oud 02-12-2004, 23:18
McMotion
Avatar van McMotion
McMotion is offline
hij heeft het toch niet over groeperen? gewoon where dus en daarin mag je functies gebruiken ja
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 03-12-2004, 07:34
Verwijderd
Citaat:
Fade of Light schreef op 02-12-2004 @ 17:19 :
Tabel cijfers = { studentid, cijfer1, cijfer2,..., cijfer20 }
Dat lijkt me niet handig...

Voor de rest: Zie ********
Met citaat reageren
Oud 03-12-2004, 08:37
Verwijderd
Citaat:
McMotion schreef op 03-12-2004 @ 00:18 :
hij heeft het toch niet over groeperen? gewoon where dus en daarin mag je functies gebruiken ja
Het heeft weinig nut een COUNT(*) te gebruiken in een WHERE.

COUNT() is een aggregate function, bedoeld om op groepjes van records uit te voeren.
Met citaat reageren
Oud 03-12-2004, 12:22
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
eddie schreef op 03-12-2004 @ 08:34 :
Dat lijkt me niet handig...

Voor de rest: Zie ********
Wat dan?
Tabel Cijfers = {studentid, vak, cijfer } ?
Met citaat reageren
Oud 03-12-2004, 12:37
Verwijderd
Citaat:
Fade of Light schreef op 03-12-2004 @ 13:22 :
Wat dan?
Tabel Cijfers = {studentid, vak, cijfer } ?
Dat lijkt er al meer op.
Want een student krijg een cijfer voor een vak.

Cijfer = { studentid, vakid, cijfer}
Vak = { vakid, vaknaam, leraarid } (een vak wordt gegeven door een leraar)
Met citaat reageren
Oud 03-12-2004, 13:30
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
eddie schreef op 03-12-2004 @ 13:37 :
Dat lijkt er al meer op.
Want een student krijg een cijfer voor een vak.

Cijfer = { studentid, vakid, cijfer}
Vak = { vakid, vaknaam, leraarid } (een vak wordt gegeven door een leraar)
Zo zou ik het over het algemeen ook doen, maaar... als dat vak er verder niet toe doet, behalve de naam, dan zou je gewoon
Cijfer = { studentid, cijfer1,cijfer2....,cijfer20 }
kunnen hanteren, als je een consistente volgorde aanhoudt.
Met citaat reageren
Oud 03-12-2004, 14:15
Verwijderd
Alleen is het dan moeilijk om het hoogste cijfer te bepalen; mag je alle velden gaan vergelijken

Dan is een select max(cijfer) toch makkelijker.
Met citaat reageren
Oud 03-12-2004, 14:31
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
eddie schreef op 03-12-2004 @ 15:15 :
Alleen is het dan moeilijk om het hoogste cijfer te bepalen; mag je alle velden gaan vergelijken

Dan is een select max(cijfer) toch makkelijker.
Mijn fout....had het oorspronkelijke bericht genegeerd Als je het maximum wil bepalen is het inderdaad slimmer om het los te doen.
Met citaat reageren
Advertentie
Reageren

Topictools Zoek in deze topic
Zoek in deze topic:

Geavanceerd zoeken

Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 04:24.