[SQL/PHP] Top 5 stijgers

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Suffie
  • Registratie: Maart 2002
  • Laatst online: 27-01-2023
ik heb een tabel aandeelwaarde, waarin aandeel icm datum uniek is:
code:
1
2
3
4
5
6
7
8
--------------------------------
|aandeel | datum      | waarde |
--------------------------------
| CSM    | 2002-12-11 |  102,3 |
| CSM    | 2002-13-11 |  103,4 |
| KPN    | 2002-12-11 |   6,14 |
| KPN    | 2002-13-11 |   6,50 |
--------------------------------


code:
1
2
3
4
SELECT a.aandeel aandeelnaam, a.waarde waardea, b.waarde waardeb 
 FROM aandeelwaarde a, aandeelwaarde b 
 WHERE a.nr = b.nr 
 AND a.datum = CURDATE() -1  AND b.datum = CURDATE()

uitkomst: aandeelnaam, waarde gisteren, waarde vandaag

met deze query kan ik in php bepalen hoeveel procent elk aandeel gestegen of gedaald is
(in de loop:)
code:
1
2
$verschil = (($record->waardeb - $record->waardea)/$record->waardea)*100;
print ("$record->aandeelnaam, $record->waardeb, $verschil");


maar hoe krijg ik nu de top 5 stijgers van vandaag eruit, met SQL of PHP? en hoe? ik zit er al 4 dagen over te denken maar ik zie het nog steeds niet

I don't suffer from insanity, I enjoy every minute of it
Trotse mama van Thijs&Bas


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Die percentage berekening kan je vast ook wel door mysql zelf laten uitvoeren?

Dus binnen de select ... [hier ergens] from regel.
En dan daar achteraf op sorteren en een limit gebruiken om er niet meer dan 5 te krijgen.

Acties:
  • 0 Henk 'm!

  • Suffie
  • Registratie: Maart 2002
  • Laatst online: 27-01-2023
ja daar heb ik al 4 dagen over nagedacht, en NOG een keer dat hele mooie boek van me doorgenomen, maar ik zie het helemaal niet hoe ik dat aan moet pakken

I don't suffer from insanity, I enjoy every minute of it
Trotse mama van Thijs&Bas


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

code:
1
2
3
4
5
SELECT a.aandeel aandeelnaam, a.waarde waardea, b.waarde waardeb , 
  ((b.waarde - a.waarde) / a.waarde) * 100 as verschil
 FROM aandeelwaarde a, aandeelwaarde b 
 WHERE a.nr = b.nr 
 AND a.datum = CURDATE() -1  AND b.datum = CURDATE()

Zoiets en dan nog order by op je verschil en de limit eronder.

Let erop dat je niet waardeb - waardea kan schrijven (helaas :/ )