10. november 2003 - 20:44Der er
25 kommentarer og 1 løsning
Group by i MySql
Hej!
Jeg har en masse poster i en MySQL-database. Alle dem har et felt med et tal. Jeg skal så have en liste med de 10 tal der fremkommer mest i tabellen. Mener at man gør det med noget group by, men kan ikke helt hitte koden...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
set rs = Conn.Execute("select land,count(*) as antal from brugere group by land order by antal desc limit 0,10") Response.Write "Top 10 member countries (Country of origin)<br>" Do until rs.EOF or rs.BOF Response.Write "<img src=""images/flag/" & rs("Antal") & ".gif"" border=""0"">" rs.movenext loop rs.close set rs = nothing
den gør ikke det jeg gerne vil have den til ... :( Den skal skrive de ti lande hvor der er flest medlemmer fra. Hvad er tallet 3 så et udtryk for når den udskriver det???
Du har jo selv lavet koden og skrevet: rs("Antal") hvor du udskriver så du får et gæt hvad de 3 er ;) og hvad du skal skrive i stedet for Antal når du kigger på din SQL sætning igen..:
;) Count(*) tæller et antal records og når du har Group by vil den tælle et antal for hver "gruppe". Og du udskriver 3 fordi der netop er 3 record med værdien 2 i land. For at udskrive landet skriver du bare kolonne "land" og ikke "Antal" ud i dit loop.
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.