Situatie : Een tabel met daarin drie waarden
Userid :
Variabele :
Datum :
Nu wil ik de laatste variabele hebben per user. Deze variabele wordt per dag opgehoogd tot hij gevoelsmatig een te hoge waarde heeft, dan moet hij weer op nul gezet worden. Omdat het een log-bestand betreft moet ik ook de oude waarden behouden.
Dit is in access te maken mbv het kernwoord last. Maar dit kent mysql niet.
Geprobeerd met :
Maar dit werkt niet, want nu krijg ik alle regels terug waarvoor de userid en variabele uniek zijn ( wat ik zo vraag ) en als ik alleen group by userid doe dan krijg ik allerlei rare waarden terug voor variabele.
Wat ik dus nodig heb is de laatste variabele per user. En de laatste variabele is niet perse de hoogste variabele, waarom er een datumveld aan toegevoegd is.
De datums verschillen per user, alleen alles selecteren per user op 1 datum heb ik ook niks aan. Ik wil dus echt de laatste variabele zien die in het logbestand is gezet per user.
Dus als ik hem nu draai, dan wil ik de laatste variabele zien van user a die net (10 min geleden ) iets in de db gezet heeft. En ook de variabele die user b die al drie maanden ziek is in de db heeft gezet.
Edit :
Ok dan enkele voorbeeldgegevens.
Nu wil ik uit dit bovenstaande lijst hebben het onderstaande lijstje krijgen :
De datumkolom hoef ik niet te hebben, maar dit leek mij wel handig om te kunnen sorteren.
Hopelijk nu iets duidelijker
Kan iemand mij tips geven
Userid :
Variabele :
Datum :
Nu wil ik de laatste variabele hebben per user. Deze variabele wordt per dag opgehoogd tot hij gevoelsmatig een te hoge waarde heeft, dan moet hij weer op nul gezet worden. Omdat het een log-bestand betreft moet ik ook de oude waarden behouden.
Dit is in access te maken mbv het kernwoord last. Maar dit kent mysql niet.
Geprobeerd met :
code:
1
2
3
4
| select userid,variabele,max(datum) from table group by userid having max(datum) |
Maar dit werkt niet, want nu krijg ik alle regels terug waarvoor de userid en variabele uniek zijn ( wat ik zo vraag ) en als ik alleen group by userid doe dan krijg ik allerlei rare waarden terug voor variabele.
Wat ik dus nodig heb is de laatste variabele per user. En de laatste variabele is niet perse de hoogste variabele, waarom er een datumveld aan toegevoegd is.
De datums verschillen per user, alleen alles selecteren per user op 1 datum heb ik ook niks aan. Ik wil dus echt de laatste variabele zien die in het logbestand is gezet per user.
Dus als ik hem nu draai, dan wil ik de laatste variabele zien van user a die net (10 min geleden ) iets in de db gezet heeft. En ook de variabele die user b die al drie maanden ziek is in de db heeft gezet.
Edit :
Ok dan enkele voorbeeldgegevens.
code:
1
2
3
4
5
6
7
8
9
10
| userid: Variabele Datum a 1 01-01-2000 b 938 16-06-2000 a 534 17-07-2002 c 200 18-09-2002 a 104 20-10-2002 b 1048 01-01-2003 c 250 02-01-2003 c 3 03-02-2003 a 16 04-03-2003 |
Nu wil ik uit dit bovenstaande lijst hebben het onderstaande lijstje krijgen :
code:
1
2
3
| a 16 04-03-2003 b 1048 01-01-2003 c 3 03-02-2003 |
De datumkolom hoef ik niet te hebben, maar dit leek mij wel handig om te kunnen sorteren.
Hopelijk nu iets duidelijker
Kan iemand mij tips geven
[ Voor 23% gewijzigd door Gomez12 op 24-03-2003 22:55 ]