query('SELECT "name", COALESCE("highscore", -1) as "highscore" FROM "Users" ORDER BY COALESCE("highscore", -1) DESC, "name" ASC LIMIT $1 OFFSET $2', array($limit, $offset))['data']; foreach($overview as $row) { $name = $row['name']; $score = $row['highscore']; $place = $db->query('SELECT COUNT(*) FROM "Users" WHERE "highscore" > $1', array($score))['data'][0]['count'] + 1; $data[] = array('place' => $place, 'name' => $name, 'score' => $score); } } else { $overview = $db->query('SELECT u."name", COALESCE(h."score", -1) AS "c_score" FROM "Users" u LEFT OUTER JOIN (SELECT "Users_ID", "score" FROM "Highscores" WHERE "Categories_ID" = $1) h ON u."ID" = h."Users_ID" ORDER BY "c_score" DESC, u."name" ASC LIMIT $2 OFFSET $3 ', array($cid, $limit, $offset))['data']; foreach($overview as $row) { $name = $row['name']; $score = $row['c_score']; $place = $db->query('SELECT COUNT(*) FROM "Highscores" WHERE "score" > $1 AND "Categories_ID" = $2', array($score, $cid))['data'][0]['count'] + 1; $data[] = array('place' => $place, 'name' => $name, 'score' => $score); } } $response = Database::create_response($data, $error); print_r($response);