[MySQL] Kolommen optellen en sorteren op gemiddelde

Pagina: 1
Acties:
  • 203 views sinds 30-01-2008

  • _.Luke._
  • Registratie: September 2001
  • Laatst online: 26-07-2021
Ik heb drie kolommen... in een tabel.
Als ik deze wil sorteren kan dat niet met een order by omdat die volgens mij maar op 1 kolom gaat en ik deze niet 1 voor 1 op verschillende kolommen kan loslaten...

Hoe kan ik het resultaat van een query zo krijgen dat ik het hoogste gemiddelde van de drie kolommen als eerste krijg...

Trying is the first step towards faillure...


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:05
Kort maar krachtig:
code:
1
2
3
SELECT AVG (kolomwaarde1 + kolomwaarde2 + kolomwaarde3)
FROM tabel
ORDER BY 1


Hmmm.... gaat toch niet werken denk ik.... :+ (voor het gemiddelde dan....)
AVG werkt op gegroepeerde rijen. Het optellen moet wel lukken, maar die avg functie zal niet gaan....

code:
1
2
3
select kw1 + kw2 + kw3
from tabel
order by 1

werkt dus wel, dan krijg je het totaal van de 3 kolommen

https://fgheysels.github.io/


  • Roeligan
  • Registratie: December 2001
  • Laatst online: 22-07-2025

Roeligan

Feyenoord

je kan een order by met meerdere argumenten geven.

order by kolom1, kolom2, kolom3


edit:
|:( |:( |:(

[ Voor 0% gewijzigd door Roeligan op 01-10-2002 11:20 . Reden: damn beter lezen das de vraag niet! ]

A real man fears not mortality for it's death, he fears mortality for it's lack of life!
RatPack #814


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:05
Roeligan schreef op 01 oktober 2002 @ 11:19:
je kan een order by met meerdere argumenten geven.

order by kolom1, kolom2, kolom3


Maar dan bekom je wel niet het beoogde resultaat. Lees de TS zijn post nog eens goed; hij wil sorteren op het gemiddelde van de 3 waardes.

https://fgheysels.github.io/


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Maak er dan
code:
1
2
3
SELECT AVG (kolomwaarde1 + kolomwaarde2 + kolomwaarde3) as gemiddeld
FROM tabel
ORDER BY gemiddeld
van.

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


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:05
Janoz schreef op 01 oktober 2002 @ 11:29:
Maak er dan
code:
1
2
3
SELECT AVG (kolomwaarde1 + kolomwaarde2 + kolomwaarde3) as gemiddeld
FROM tabel
ORDER BY gemiddeld
van.


Euhm, ja, lees de draad voor je blaat enzo.... :P

https://fgheysels.github.io/


  • _.Luke._
  • Registratie: September 2001
  • Laatst online: 26-07-2021
k senks werkt tot dusver... ik moet eigenlijk alleen 5 resultaten hebben... de hoogste 5 gemiddelden... hoe kun je zoiets dan afvangen... en hoe gooi je dat daarna in een resultset in PHP??? Weet nu dat ik de directe output van de query als waarde heb maar normaliter krijg je toch een complete resultset terug...???

Trying is the first step towards faillure...


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:05
_.Luke._ schreef op 01 oktober 2002 @ 11:30:
k senks werkt tot dusver... ik moet eigenlijk alleen 5 resultaten hebben... de hoogste 5 gemiddelden... hoe kun je zoiets dan afvangen... en hoe gooi je dat daarna in een resultset in PHP??? Weet nu dat ik de directe output van de query als waarde heb maar normaliter krijg je toch een complete resultset terug...???


Tja, ik denk dat het nodig is dat je eens een tutorial SQL/MySQL volgt. Dit zijn allemaal dingen die je wel in de manual terugvind.
Hoe je dat in PHP gooit -> zie een pHp tutorial.

https://fgheysels.github.io/


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Sja, het voorbeeld van whoami is duidelijk zat uit te breiden naar 5 opties of zelfs 1000 natuurlijk :)

En sorteren op het gemiddelde van 5 kolommen is natuurlijk hetzelfde als sorteren op de som ervan, wil je perse het gemiddelde (voor je uitkomst ofzo) dan moet je er natuurlijk nog even /5 achter zetten ;)

En voor je verdere probleem raad ik je aan de php/mysql/etc tutorials door te nemen, er is namelijk geen enkel verschil tussen het type output dat je voor dit soort queries krijgt als voor select * from... queries.
Pagina: 1

Dit topic is gesloten.