webForumDet fria alternativet

placering i topplista

Databaser & SQL

3 svar · 305 visningar · startad av golgata

Medlem sedan maj 2000131 inlägg
Frågan#1

Plockar fram hela topplistan med följande kod

Nu vill jag plocka ut vilken plats ett visst members.id finns på.

Hur räknar man ut det?

SQL = "SELECT MIN(members.fornamn) AS fornamn, 
MIN(members.efternamn) AS efternamn, 
SUM(steg.antalsteg) as Antal 
FROM steg INNER JOIN members on members.id = steg.membersid 
GROUP BY steg.membersid ORDER BY 3 DESC"
Set RecSet = Connect.Execute(SQL)
Medlem sedan maj 200010 687 inlägg
#2

Gör en subquery där du räknar hur många som har högre poäng än medlemmens poäng.

Medlem sedan maj 2000131 inlägg
#3

jo men hur ser en sådan ut?

Får inte rätt på det

Medlem sedan dec. 200012 464 inlägg
#4
SELECT m.fornamn , 
       m.efternamn, 
      SUM(s.antalsteg) as Antal,
  (select count(*)
     from steg
    group by membersid
   having sum(antalsteg) >
  (Select sum(antalsteg)  
    from steg 
  where membersid = m.id) + 1 as ranking
 FROM steg s
   INNER JOIN members m on m.id = s.membersid 
GROUP BY  m.fornamn , m.efternamn
ORDER BY 3 DESC
247 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)