Toon posts:

[db] poll results sorteren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een poll op mn site die haal ik uit een database met een table POLL met daarin 1 row:

id | vraag | anta | antb | antc | antd | a | b | c | d

id is de ID van de poll
vraag is de vraag
anta is het eerste antwoord
antb het tweede..
antc het derde
antd het vierde
a is het aantal keer dat op a is gestemd
b is het aantal keer dat op b is gestemd
c is het aantal keer dat op c is gestemd
d is het aantal keer dat op d is gestemd

Nu wil ik de poll resultaten gesorteerd van groot naar klein weergeven.. dus als er het meest op c is gestemd dat c dan bovenaankomt te saan enz.

nu probeer ik er nog achter te komen hoe ik dat moet gaan doen met deze table indeling.. moet ik dan een uitgebreidde script gaan schrijven die bij elke (a,b,c...) checkt of de anderen (a,b,c,d..) hoger zijn of niet?
of zal er een makkelijkere manier zijn om de results te sorteren?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 10 december 2001 09:55 schreef _Assassinator_ het volgende:
of zal er een makkelijkere manier zijn om de results te sorteren?
Ja. Een juiste database model gebruiken.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:30

Janoz

Moderator Devschuur®

!litemod

Dit is alvast het eerste probleem waar je tegenaan loopt door een gebrekkig datamodel! (Volgende problemen worden hoe je meer dan 4 antwoorden kunt gebruiken, en hoe je wilt bijhouden wie gestemd heeft, alhoewel voor de laatste ook andere oplossingen zijn)


Probeer eens niet elke poll in 1 rij kwijt te willen.. Probeer het niet eens in 1 tabel te gieten!

Als alle antwoorden uiteindelijk in 1 kolom zitten ipv verspreid over meerdere dan kun je ze gewoon sorteren mbv order by.

[edit] * Janoz werd ff wakkergeschud door dusty.. rij:=kolom

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Ik vrees dat je een 'ingewikkeld' script of query zal moeten schrijven.

De opzet van je DB is namelijk fout...
de velden A,B,C,D bevatten dezelfde (soort) gegevens, en horen dus onder elkaar te staan....

voorbeeld:
Tabel: Poll(id,inleidingtekst,...);
Tabel: vragen(id,pollId,tekst,...);
Tabel: antwoord(userId,vraagId);

Dan kun de de volgende query uitvoeren:
Select vragen.tekst, count(antwoord.userId) from vragen,antwoord where pollId=1 group by vragen.id


[edit]
We zitten je wel af te kraken hé... Maakt niet uit... leer je van. Ik ben ook met dit soort knoeisels begonnen.

Localhost, sweet localhost


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 10 december 2001 10:13 schreef Janoz het volgende:
Als alle antwoorden uiteindelijk in 1 row zitten ipv verspreid over meerdere dan kun je ze gewoon sorteren mbv order by.
*kuch*.. het is maandag ochtend, Janoz bedoelt natuurlijk als ze verspreid zijn over meerdere tabellen ipv in 1 row kan je ze gewoon sorteren met een order by.

p.s. Janoz: Wakker worden!

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • GarBaGe
  • Registratie: December 1999
  • Laatst online: 17:14
Op maandag 10 december 2001 10:10 schreef dusty het volgende:

[..]

Ja. Een juiste database model gebruiken.
Yep, statistische informatie moet je (in principe) nooit opslaan in een database (het aantal malen dat een bepaald antwoord is gekozen).

Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 10 december 2001 10:26 schreef GarBaGe het volgende:
Yep, statistische informatie moet je (in principe) nooit opslaan in een database (het aantal malen dat een bepaald antwoord is gekozen).
Maar het aantal malen dat een bepaald antwoord is gekozen is NIET statisch. Dan zou je ook kunnen zeggen dat de gehele poll niet in de database hoort, want als die poll er eenmaal is veranderd de poll zelf ook niet meer. :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Jelle Niemantsverdriet
  • Registratie: Februari 2000
  • Laatst online: 19:03
Op maandag 10 december 2001 10:20 schreef dusty het volgende:
p.s. Janoz: Wakker worden!
Op maandag 10 december 2001 10:26 schreef GarBaGe het volgende:
Yep, statistische informatie ...
Op maandag 10 december 2001 10:41 schreef dusty het volgende:
NIET statisch
;)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 10 december 2001 10:50 schreef Jelle Niemantsverdriet het volgende:
[..]

;)
OKay.. ik las dus statisch.. aangezien statische data ALTIJD veranderd.. dus juist ALTIJD opgeslagen moet worden in de database.. ( dus op het moment raakt zijn commentaar nog minder muren.. )

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op maandag 10 december 2001 11:07 schreef dusty het volgende:
OKay.. ik las dus statisch.. aangezien statische data ALTIJD veranderd.. dus juist ALTIJD opgeslagen moet worden in de database.. ( dus op het moment raakt zijn commentaar nog minder muren.. )
* drm las dat ook, maar zag daarna beter ;)

Neem aan dat je nu wel statistisch bedoelt :? ;)

Je moet eventjes klikken. Waar dan? Nou, *hier*

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 10 december 2001 11:16 schreef drm het volgende:
Neem aan dat je nu wel statistisch bedoelt :? ;)
Yup nu wel.. alelen mijn handen wilden het niet typen..

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1