Avatar billede hrole Mester
16. maj 2009 - 00:21 Der er 2 kommentarer og
1 løsning

Gruppering af udtræk fra mysql

Hej,

Jeg har en database med en række navne, hvor der er dubletter. Jeg ønsker at udtrække disse for hvert navn og få vist hvor mange gange de optræder. Databasen skal altså køres igennem for alle navne og vise at fx Hans optræder 18 gange. Hvis navnet optræder minimum 10 gange skal navnet og antal gange udskrives.

Jeg har forsøgt med sql funktionen group by, men det giver jo ikke mening da hvert navne logisk nok kun vil optræde én gang. Derfor skal grupperingen ske via php, men jeg har ikke kunnet finde en tilsvarende funktion. Selve tællingen kan vel klares med count(). Jeg kunne forstille mig resultaterne fra databasen først skal ind i et array.
Avatar billede erle Nybegynder
16. maj 2009 - 00:44 #1
<?
$query = "SELECT distinct(navn) AS 'navn', count(navn) AS 'navnialt' FROM users WHERE navnialt>='10'";

$sql = mysql_query($query);

while ($row = mysql_fetch_array($sql)) {
echo "Navn: " . $row['navn'] . " - Antal: " . $row['navnialt'];
}
?>

Ikke sikkert det vil virke. Men prøv.
Avatar billede hrole Mester
16. maj 2009 - 11:54 #2
Hej erle,

det var et godt bud. Jeg har tilpasset, da der var krævet en GROUP by. Men jeg får skrevet alle navnene ud også selvom der er mindre en 10. Det kan jeg ikke lige gennemskue. Her er koden:

<?
$query = "SELECT distinct(navn) AS 'navn', count(navn) AS 'navnialt' FROM users WHERE navnialt>='10' GROUP by 'navn'";

$sql = mysql_query($query);

while ($row = mysql_fetch_array($sql)) {
echo "Navn: " . $row['navn'] . " - Antal: " . $row['navnialt'];
}
?>
Avatar billede hrole Mester
02. juni 2009 - 20:42 #3
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester