Ik zit met een probleem dat ik het liefst in MySQL oplos in plaats van naderhand de resultset in php te gaan wijzigen etc.
Stel, ik heb een item dat gewaardeerd wordt door 6 verschillende mensen met een 8, 3, 6, 9, 10, 4. Deze cijfers worden in de db opgeslagen als afzonderlijke rijen met een foreignkey naar het ID van het item.
Hoe kan ik nu in 1 query de hoogste en laagste cijfers eruit filteren (3 en 10) en van de overgebleven cijfers het gemiddelde berekenen?
Dus zoiets als dit (wat niet werkt):
Dit is uiterst simpel uitgelegd, ik hoop dat het duidelijk is. Googlen op 'remove highest lowest value mysql' etc levert niet het gewenste antwoord op. Iemand hier een idee?
Stel, ik heb een item dat gewaardeerd wordt door 6 verschillende mensen met een 8, 3, 6, 9, 10, 4. Deze cijfers worden in de db opgeslagen als afzonderlijke rijen met een foreignkey naar het ID van het item.
Hoe kan ik nu in 1 query de hoogste en laagste cijfers eruit filteren (3 en 10) en van de overgebleven cijfers het gemiddelde berekenen?
Dus zoiets als dit (wat niet werkt):
code:
1
| select AVG(avgscore - MIN(avgscore) - MAX(avgscore)) FROM scores GROUP BY item |
Dit is uiterst simpel uitgelegd, ik hoop dat het duidelijk is. Googlen op 'remove highest lowest value mysql' etc levert niet het gewenste antwoord op. Iemand hier een idee?
.