Ik ben nog een beginner op MySQL gebied maar vroeg mij af hoe ik een bepaald woord uit een bepaalde kolom kan laten tellen.
Dus als ik heb:
Id - Achternaam
1 - Jansen
2 - Zomer
3 - Jansen
Dat ik dan automatisch in php kan laten weergegeven, de achternaam Jansen is '2' keer voorgekomen.
Het wordt een tabel met ongeveer 400 rijen en 10 kolommen. Is het dan zinvol om de index toe te passen? En hoe pas ik deze index dan toe? Een link naar een tutorial/script is ok goed.
Het wordt een tabel met ongeveer 400 rijen en 10 kolommen. Is het dan zinvol om de index toe te passen? En hoe pas ik deze index dan toe? Een link naar een tutorial/script is ok goed.
400? Dat is dan 400 x niks. Pas bij een paar miljoen records begint het echt wat te worden, bij 400 miljoen kun je spreken van 'groot'. Wanneer jij voor de id's een INT gebruikt, kun je zo'n 4 miljard records aanmaken, bij een BIGINT nog véél meer.
Mensen denken klein, databases werken in het groot.
Dat weet ik, maar ik wilde hem even duidelijk maken dat 400 records onvoorstelbaar weinig is voor een database.
Tenminste, wanneer je geen terrabytes aan data in 1 enkel record op gaat slaan. In PostgreSQL geldt een maximum van 32TB per tabel en 1.6TB per record. MySQL kan minder data kwijt, maar nog altijd achtelijk veel.
Dat weet ik, maar ik wilde hem even duidelijk maken dat 400 records onvoorstelbaar weinig is voor een database.
Bedankt ;) k heb dan ook geen gebruikt van de indexen maar van onderstaant script:
<?php
mysql_connect("localhost", "username", "password");
mysql_select_db("database") or die( "Unable to select database");
$query = "SELECT achternaam, COUNT(achternaam) AS aantal FROM tabel WHERE achternaam = 'Jansen' GROUP BY achternaam";
$resultaat = mysql_query($query);
while ($rij = mysql_fetch_array($resultaat)) {
$achternaam = $rij["achternaam"];
$totaal = $rij["aantal.achternaam"];
$totaal = $rij['aantal'];
echo"De achternaam $achternaam is $totaal keer voorgekomen.<br>\n";
}
?>
Dit script werkt maar nu ontstaat er een probleem. Als er in het veld Achternaam bijvoorbeeld 'Jansen Minkes' is ingevuld telt het script deze waarde niet. Alleen als er alleen maar 'Jansen' is ingevuld en niet meer. Hoe kan ik er voor zorgen dat deze toch ook geteld wordt?