ZoRaC Skrevet 27. juni 2003 Del Skrevet 27. juni 2003 Hei! Har en tabell som heter "members" med blant annet disse feltene: memberID (INT, PRIMARY, AUTO_INCREMENTING) navn (VARCHAR) songID (INT) (fremmednøkkel) Og en tabell som heter "songs": songID (INT, PRIMARY, AUTO_INCREMENTING) songName (VARCHAR) Det jeg vil er å lage en slags "Topp 20-liste". Altså hvilke sanger er mest populære. Hvordan skal jeg sette opp ett slik query? Lenke til kommentar
Chiclins Skrevet 27. juni 2003 Del Skrevet 27. juni 2003 du kan skrive querien slik: SELECT songName, COUNT(members.songID) AS listeners FROM songs, members WHERE songs.songID = members.songID GROUP BY members.songID ORDER BY listeners DESC LIMIT 0,20 jeg har ikke testet den men jeg tror det skal virke Lenke til kommentar
ZoRaC Skrevet 27. juni 2003 Forfatter Del Skrevet 27. juni 2003 Takk for utrolig kjappt svar! Men, det virker ikke helt... Har 3 personer i tabellen. To har songID 1 og en har songID 2. I songs-tabellen har jeg 2 sanger. Men, resultatet blir: SongName Antall Sangnavn1 4 Sangnavn1 2 Hva er feil? Lenke til kommentar
ZoRaC Skrevet 27. juni 2003 Forfatter Del Skrevet 27. juni 2003 Ser ut til at jeg løste det med dette: $query = "SELECT songName, COUNT(members.songID) AS antall " . "FROM songs, members " . "WHERE members.songID = songs.songID " . "GROUP BY members.songID " . "ORDER BY antall DESC " . "LIMIT 0,20"; Takk for hjelpen! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå