hoi,

Ik heb een lijst met warmtegetallen en die wil ik graag op volgorde zetten via naar ik denk ORDER BY.

Het probleem is dat ze gerangschikt moeten worden in vergelijking met het gemeten warmtegetal in De Bilt, nu 2.2

Als je dus 2 rijen hebt:

1. Piet met 100
2. Jan met 50

En het warmtegetal zou 2 zijn, dat dan Jan bovenaan staat omdat hij het dichtst bij dit getal zit. Als het 89 zou zijn, dan Piet etc.

Zal waarschijnlijk iets met ORDER BY worden, maar ik zou niet weten wat...

gr Christian
Sorteren op het verschil tussen die twee?


SELECT
  (getal - warmtegetal) AS verschil
FROM
  tabel
ORDER BY
  verschil DESC


'getal' verwijst hier naar de kolom waarin de waarde staat en 'warmtegetal' zou je met een variabele vanuit PHP in kunnen vullen.
Euh, en hoe moet ik dat 'getal' intepreteren?

Het gaat namelijk om deze lijst.
SELECT
(getal - warmtegetal) AS verschil
FROM
tabel
ORDER BY
verschil DESC

`getal` is het vakje in de database. De getallen die iedereen gegokt heeft komt in die kolom (Of een andere naam.. dat moet je dan even veranderen)
Warmtegetal is dan 'het' warmtegetal waar iedereen dichtbij moet zitten.
er word nog niet rekening gehouden met getallen LAGER dan het warmtegetal.

Stel het warmtegetal is 2.2 in de Bilt
In Den Haag is het 2.5.
In Haarlem is het 1.0.

Nu komt hier dus een lijst uit:
Haarlem -1.2 verschil (1-2.2 is negatief)
Den Haag 0.3 verschil

Dit word dan verkeerd gesorteerd. Het koudste getal zal altijd bovenaan staan.
Daarom zou je dit dit ervan moeten maken:


SELECT
ABS(getal - warmtegetal) AS verschil
FROM
tabel
ORDER BY
verschil DESC 


Hier zal wel het gewenste resultaat uitkomen.

Reageren