---
title: "Highscore med ranking"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/188564-highscore-med-ranking"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "backer"
published: "2011-12-09T10:15:45.000Z"
updated: "2011-12-21T08:16:20.000Z"
replies: 1
views: 789
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/188564-highscore-med-ranking"
---

# Highscore med ranking

## #1 — backer, 2011-12-09T10:15Z

Återkommande jobbighet för mig.
Har knåpat ihop en SQL sats för att plocka ut highscore, kommer vilja ha lite olika settings till den som t.ex. Unik användare eller alla, sorteringshåll osv. Denna SQL fungerar rätt bra men blir ett litet fel.

När resultatet kommer så ser score rätt ut men alla andra fält (t.ex. value1 ,value2) kommer inte från samma data row.

```
SELECT 
	s1.uid row_uid, s1.user_uid user_uid, s1.score score, COUNT(s2.uid) rank, s1.country country, users.firstname firstname, users.lastname lastname, s1.value1, s1.value2, s1.value3, s1.value4, s1.value5, s1.value6, s1.value7, s1.value8, s1.value9, (SELECT date_saved FROM highscores WHERE user_uid = s1.user_uid AND score = s1.score GROUP BY user_uid) AS date 
	FROM 
		(SELECT MAX(score) as score, uid, user_uid, value1, value2, value3, value4, value5, value6, value7, value8, value9, country 
			FROM highscores WHERE LOWER(country) like '%' GROUP BY user_uid) s1 
JOIN 
	(SELECT MAX(score) as score, uid, user_uid 
	FROM highscores 
	WHERE LOWER(country) like '%' 
	GROUP BY user_uid) s2 
	ON s1.score > s2.score or (s1.score=s2.score and s1.user_uid = s2.user_uid) 
	
INNER JOIN users 
	ON users.uid = s1.user_uid 
	GROUP BY s1.user_uid, s1.score 
	ORDER BY rank desc
```

Lite av de intressanta bitarna hur databasen ser ut
highscores
 \- uid (unique)
 \- user_uid (användar id)
 \- score (sortering på denna)
 \- date_saved (datum vid sparning)
 \- value1 (exempel på vanlig column)
 
users
 \- uid (unique)
 \- firstname
 \- lastname

Önskat resultat.
uid,   user_uid,   score,   rank,   country,   firstname,   lastname,   value1,   value2,   date

tacksam för hjälp

Permalänk: https://www.webforum.nu/p/188564

## #2 — backer, 2011-12-21T08:16Z

Är väll kanske för avancerat, har plockat in en php knackare som jag hoppas kan lösa problemet åt mig.

Permalänk: https://www.webforum.nu/p/2289648

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/188564-highscore-med-ranking
