Hallo

Ik probeer van een tabel in de database de records in verschillende kolommen apart te tellen.

Voorbeeld: kolom Naam bevat 13 records
kolom Woonplaats 8 records
Of Naam waar naam = Jan

$var naam = 13;
$woonplaats = 8 enz.

Hoe krijg ik die terug in een $var

Met count aan de slag gegaan maar kom er niet verder mee
omdat er om JAN de quotes missen

[size=xsmall]Toevoeging op 15/01/2016 14:09:30:[/size]

verklaring voor SUM(woonplaats != '')

het stuk tussen de ( ) is een vergelijking waar true of false uitkomt. als de waarde in de kolom woonplaats een lege string is, dan is het true, anders false.

True is ook wel te schrijven als 1, false als 0

In het gegeven voorbeeld is 2 maal de kolom Woonplaats voorzien van een waarde. (dat was tenminste zo voor de edit?)

dat levert dus 2 maal een 1 op. Die enen opgeteld levert je 2 op als totaal.

Dit werkt ook zo voor woonplaats = '' of woonplaats = 'Amsterdam'

Zou "leeg" als NULL opgeslagen staan, dan werkt het ook met count(), voor het geval "is er iets ingevuld"
Ward van der Put op 15/01/2016 12:50:41
Je hebt geen while nodig als je één rij ophaalt:

Daarbij is het hier gerechtvaardigd om het resultaat op te halen zonder eerst te controleren of er resultaten zijn -wat eigenlijk wel gebruikelijk is- omdat, indien je enkel een SUM() of soortgelijke functie aanroept middels een SELECT statement, je altijd exact één resultaat terugkrijgt, of er nu "resultaten" zijn, of niet - je krijgt altijd één resultaatrij terug.

Gelukt, Beiden bedankt voor jullie hulp en uitleg!

Reageren