webForumDet fria alternativet

Räkna antalet relationer?

6 svar · 376 visningar · startad av Bosse168

Bosse168Medlem sedan nov. 20031 018 inlägg
#1

Jag skulle vilja räkna ut hur många relationer som mina kvinliga användare har och undrar hur en sådan SQL-sats skulle se ut.

har en tabell som heter kompis där jag sparar in samma id som användaren har i tabellen members

Någon som vet hur SQL-satsen skulle se ut?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Något sånt här kanske:

SELECT ID, användarnamn, count(*) FROM Members INNER JOIN Kompis ON Members.ID = Kompis.kompisID WHERE Members.Kon='f' GROUP BY ID, användarnamn

Men jag gissar lite hur tabellerna ser ut...

Bosse168Medlem sedan nov. 20031 018 inlägg
#3

Får bara fram 1 relation när jag använder SQL-satsen:

SQL="SELECT kompis.namn, username, count(*) AS antal FROM members INNER JOIN kompis ON members.username = kompis.namn WHERE members.kon='Tjej' GROUP BY kompis.id, username"
@ndersMedlem sedan juni 200032 969 inlägg
#4
  1. varför hämtar du både kompis.namn och username?
  2. Varför grupperar du på fält som du inte har med i SELECT?
LarsGMedlem sedan dec. 200012 464 inlägg
#5
SQL="SELECT username, count(*) AS antal FROM members INNER JOIN kompis ON members.username = kompis.namn WHERE members.kon='Tjej' GROUP BY username"
Bosse168Medlem sedan nov. 20031 018 inlägg
#6

funkar men sidan blir jätte seg när jag kör den SQL-satsen.

tohaMedlem sedan dec. 1999707 inlägg
#7

Vad har du för nycklar och index på tabellerna?
Om inte members.username är PK så bör du lägga index på det fältet. Även kompis.namn bör och members.kon kan du med fördel lägga ett index på.

251 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
120 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)