I want to get highest scores in leaderboard. Here is my database:

Here is my rules:

And here is my code:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference newRef = database.getReference("tr/scores");
newRef.orderByChild("skor").limitToLast(3).addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Gson gson = new Gson();
            String value = gson.toJson(dataSnapshot.getValue());
            Log.d("Debug",value);
        }
        @Override
        public void onCancelled(DatabaseError firebaseError) {
            Log.e("Debug","Error at firebase response.");
        }
    });
This returns 3 childs but not ordered by "skor" variable. I read the docs but the example in docs is:
{
  "scores": {
   "bruhathkayosaurus" : 55,
   "lambeosaurus" : 21,
   "linhenykus" : 80,
   "pterodactyl" : 93,
   "stegosaurus" : 5,
   "triceratops" : 22
  }
}
But my database has dynamic keys for each childs. Any idea?
