Ik probeer een aantal gegevens uit mijn DB op te sommen, waarbij de debiteurnummers uniek moeten blijven.
Dit probeer ik met DISTINCT.
<?php
$sqldis = "SELECT DISTINCT
debiteurennr AS debnr
FROM
bezoekrap
ORDER BY
id DESC";
$rsdis = mysql_query($sqldis) or trigger_error(mysql_error());
while ($dis = mysql_fetch_array($rsdis)) {
$sql = "SELECT
debiteurennr, datumbezoek, id, naamklant, Contactpersoon, woonplaats
FROM
bezoekrap
WHERE
debiteurennr like '".$dis['debnr']."'
ORDER BY
id DESC";
$rs = mysql_query($sql) or trigger_error(mysql_error());
while ($row = mysql_fetch_array($rs)) {
//resultaten als $row['']...
}
}
Maar hij geeft ze niet uniek weer..
Wat doe ik verkeerd?
<?php
$sqldis = "SELECT DISTINCT
debiteurennr AS debnr
FROM
bezoekrap
ORDER BY
id DESC";
$rsdis = mysql_query($sqldis) or trigger_error(mysql_error());
while ($dis = mysql_fetch_array($rsdis)) {
$sql = "SELECT
debiteurennr, datumbezoek, id, naamklant, Contactpersoon, woonplaats
FROM
bezoekrap
WHERE
debiteurennr = '".$dis['debnr']."'
ORDER BY
id DESC";
$rs = mysql_query($sql) or trigger_error(mysql_error());
while ($row = mysql_fetch_array($rs)) {
//resultaten als $row['']...
}
}
Nee er staan bezoeken in de DB, maar sommige hebben hetzelfde debiteurnummer.. Das logisch want je komt weleens 2x bij een klant.
Maar ik wil dat hij alle debiteurnummer 1x weergeeft. :)
Nu je het zegt idd met GROUP BY.. :) ik ga eens kijken, dankje
Maar DISTINCT zet alles van hetzelfde waarde bij elkaar o.i.d.?
aha dan is dat het verschill:) ben niet zo'n held in engels dus die websites begrijp ik soms maar half-half.. :)
Distinct doet niets anders dan dubbele waarden in een bepaalde kolom weglaten, en geeft dus alleen 1 rij weer waarin een bepaald debiteurnummer voorkomt.
GROUP BY groepeerd op een bepaalde kolom, en laat dus geen rijen achterwege bij de selectie.