Hoi,

Stel ik heb dit in mijn database staan:

INSERT INTO stats (id) VALUES (1111aa); --
INSERT INTO stats (id) VALUES (1111aa);  |
INSERT INTO stats (id) VALUES (1111aa);  1
INSERT INTO stats (id) VALUES (1111aa);  |
INSERT INTO stats (id) VALUES (1111aa); --

INSERT INTO stats (id) VALUES (2222bb); --
INSERT INTO stats (id) VALUES (2222bb);  |
INSERT INTO stats (id) VALUES (2222bb);  2
INSERT INTO stats (id) VALUES (2222bb);  |
INSERT INTO stats (id) VALUES (2222bb); --

INSERT INTO stats (id) VALUES (3333cc); --
INSERT INTO stats (id) VALUES (3333cc);  |
INSERT INTO stats (id) VALUES (3333cc);  3
INSERT INTO stats (id) VALUES (3333cc);  |
INSERT INTO stats (id) VALUES (3333cc); --


Is er dan een php/mysql functie die dus als output 3 geeft omdat er in totaal 3 verschillende id's zijn?

tnx,
Arian

SELECT count( DISTINCT id )
FROM stats;
Euh... in de tabel heb ik ook een veld 'maand' met een getal van 1 tot en met 12 erin.
maar hoe krijg ik een cijfer 1/12 waar de meeste rijen inzitten? en hoeveel er dat dan zijn met dat cijfer.
@ Arjan: als je dat er met die vorige query uit kunt laten rollen is het onzin om het er in te zetten.
jaja... dan krijg je wel het aantal unieke, ook wel per maand...
en dat kan je wel echo'en.
maar dan zou je 12 queries moeten hebben...
en dan zou je wel met max() het meeste kunnen krijgen. Maar dan heb je weer 12 query's erbij.

En ik hoef het er niet weer in de tabel ofzo te zetten hoor.
Maar hoe krijg je het aantal rijen, van de maand met de meeste rijen.
@ Jan: Mijn naam is Arian (met een i i.p.v. een j ;))
Hij werkt al :D

met
<?php
$maxsql = "SELECT count(maand) as rows FROM stats WHERE naam = '".$naam."' GROUP BY maand ORDER BY rows DESC LIMIT 1";
$maxaant = mysql_fetch_row(mysql_query($maxsql));
echo $maxaant[0];
?>
Mooi dat het werkt :-)

Tip: doe aan foutafhandeling in je queries en schrijf een query netjes uit. Dat helpt enorm bij het debuggen.
<?php
$maxsql = "
SELECT COUNT(maand) AS rows
FROM stats
WHERE naam = '".$naam."'
GROUP BY maand
ORDER BY rows DESC LIMIT 1
";
if (!$res = mysql_query ($maxsql)) {
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo '<pre>';
echo $maxsql;
echo '</pre>';
}
else {
$row = mysql_fetch_assoc ($res));
echo $row['rows'];
}
?>

Reageren