ODBC count
Kan iemand mij vertellen hoe ik met een ODBC koppeling rijen kan tellen in de database. In mysql is dit mysql_num_rows.
Door een query met COUNT() uit te voeren?
Blanche schreef op 07.10.2008 10:44:
Door een query met COUNT() uit te voeren?
Maar hoe ziet die query eruit?
Deze query kun je verder uitbreiden door het * te vervangen door een kolomnaam en te gaan werken met een GROUP BY clausule om records te groeperen.
Zie ook deze tutorial over het juiste gebruik van de GROUP BY clausule...
Blanche schreef op 07.10.2008 10:48:
Om het aantal records in een bepaalde tabel te tellen:
Deze query kun je verder uitbreiden door het * te vervangen door een kolomnaam en te gaan werken met een GROUP BY clausule om records te groeperen.
Zie ook deze tutorial over het juiste gebruik van de GROUP BY clausule...
Deze query kun je verder uitbreiden door het * te vervangen door een kolomnaam en te gaan werken met een GROUP BY clausule om records te groeperen.
Zie ook deze tutorial over het juiste gebruik van de GROUP BY clausule...
Ik heb nu de volgende code maar ik snap het nog niet.
Code (php)
Wat moet ik hier dan nog aanpassen??
En wat gaat er nu fout dan? Verder is het niet slim om voor een alias dezelfde naam als een bestaande kolomnaam te gebruiken. Dat geeft je nu bijvoorbeeld problemen als je wilt sorteren op offertenummer...
Blanche schreef op 07.10.2008 11:02:
En wat gaat er nu fout dan? Verder is het niet slim om voor een alias dezelfde naam als een bestaande kolomnaam te gebruiken. Dat geeft je nu bijvoorbeeld problemen als je wilt sorteren op offertenummer...
Verder is het niet slim om voor een alias dezelfde naam als een bestaande kolomnaam te gebruiken.
Hoe moet ik dit doen dan?
Kan mij iemand misschien vertellen hoe ik de laatste rij uit mijn ODBC tabel kan krijgen?
SELECT veld1, veld2
FROM tabelnaam
ORDER BY datumtijd_toegevoegd DESC
LIMIT 1
Jan Koehoorn schreef op 08.10.2008 10:02:
Niet bumpen!
SELECT veld1, veld2
FROM tabelnaam
ORDER BY datumtijd_toegevoegd DESC
LIMIT 1
SELECT veld1, veld2
FROM tabelnaam
ORDER BY datumtijd_toegevoegd DESC
LIMIT 1
Wat doet het DESC LIMIT 1 precies??
Het is wel belangrijk dat je een veld hebt waarin je bijhoudt op welk moment de record ooit toegevoegd is. En een auto increment veld is daarvoor niet het aangewezen veld. Je moet dus echt een veld vullen met NOW() als je een INSERT query uitvoert.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Jan Koehoorn schreef op 08.10.2008 10:13:
Je sorteert op het veld waarin je bijhoudt wanneer de record is toegevoegd. Als je dat DESC doet, sorteer je omgekeerd. De laatst toegevoegde komt dan dus eerst. Met LIMIT 1 zorg je dat er maar 1 record geselecteerd wordt met je query.
Het is wel belangrijk dat je een veld hebt waarin je bijhoudt op welk moment de record ooit toegevoegd is. En een auto increment veld is daarvoor niet het aangewezen veld. Je moet dus echt een veld vullen met NOW() als je een INSERT query uitvoert.
Het is wel belangrijk dat je een veld hebt waarin je bijhoudt op welk moment de record ooit toegevoegd is. En een auto increment veld is daarvoor niet het aangewezen veld. Je moet dus echt een veld vullen met NOW() als je een INSERT query uitvoert.
Ik heb nu de volgende code:
Code (php)
Wanneer ik DESC LIMIT 1 weg haal krijg ik alle datums met tijden te zien. Wanneer ik DESC LIMIT 1 toevoeg krijg ik geen resultaat.
Die hoort bij de ORDER BY.
DESC = descending (Omgekeerde volgorde, dus laatste rijen als eerste weergeven)
ASC = asscending (Normale volgorde, dus op volgorde van nieuw naar oud)
LIMIT 1 geeft gewoon 1 rij terug, als je bij de ORDER BY, de DESC gebruikt is dat de laatst toegevoegde rij, en bij ASC de eerste toegevoegde rij.
(Afhankelijk van datum natuurlijk, als je ORDER BY gebruikt op een naam ofzo, dan begint DESC bij 'Z' - 'A' en ASC van 'A' - 'Z'.)
Ga eerst eens op internet zoeken naar wat alle MySQL commando's zijn, en hoe je ze gebruikt.