Gå til innhold

Telle antall + MySQL (LØST!)


Anbefalte innlegg

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
Videoannonse
Annonse

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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...