Athlon: MySQL Tabelle Sortieren und Position herausfinden

Tach,

ich hab ein Problem:
Ich habe ein Tabelle die ich Sotieren möchte und dann die Position einer bestimmten ID ausgeben möchte....

Nur leider bin ich nicht so der sql freund :-(

Also das sieht so auch:

ID DATEN
1 10
5 20
7 30
8 50
6 100

Also nach Daten Sotieren:

SELECT *
FROM Players
ORDER BY Players.DATEN DESC

So und jetzt will ich wissen auf welcher Position ID 8 steht!!!
Wie mach eich das?
Die Position wäre ja 2.

ich hoffe mir kann da wer helfen.

Lars

  1. yo,

    So und jetzt will ich wissen auf welcher Position ID 8 steht!!!

    in oracle gibt es dafür eine einfache lösung mit hilfe der speudospalte ROWNUM. in mysql geht es über den trick variablen in der abfrage zu benutzen, die dann jeweils um +1 inkrementiert werden.

    http://dev.mysql.com/doc/refman/5.1/en/user-variables.html

    Ilja

    1. yo,

      So und jetzt will ich wissen auf welcher Position ID 8 steht!!!

      in oracle gibt es dafür eine einfache lösung mit hilfe der speudospalte ROWNUM. in mysql geht es über den trick variablen in der abfrage zu benutzen, die dann jeweils um +1 inkrementiert werden.

      http://dev.mysql.com/doc/refman/5.1/en/user-variables.html

      Ilja

      Sorry ab das zu viel für mich?!! Da komm ich gar nicht mit klar

      1. Hi,

        in oracle gibt es dafür eine einfache lösung mit hilfe der speudospalte ROWNUM. in mysql geht es über den trick variablen in der abfrage zu benutzen, die dann jeweils um +1 inkrementiert werden.

        http://dev.mysql.com/doc/refman/5.1/en/user-variables.html

        Sorry ab das zu viel für mich?!! Da komm ich gar nicht mit klar

        Wenn du dir statt zu jammern den ersten Nutzerkommentar auf der Seite anschauen wuerdest ...

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. Ich hab es jetzt so versucht:

          SET @pos=0;

          SELECT @pos:=@pos+1,playerid
          FROM hlstats\_Players

          ORDER BY kills DESC

          @pos := @pos + 1  playerid
          1                   1
          2                    3
          3                   61
          4                   260
          5                    203

          Aber wie kann ich jetz sagen ich möchte @Pos für playerid 2 haben?

          Ich hab schon versucht where mit einzubauen aber ohne erfolg...

          1. yo,

            Aber wie kann ich jetz sagen ich möchte @Pos für playerid 2 haben?

            entweder mit einer unterabfrage, diese gehen ab mysql 4.1+. oder aber noch eleganter mit der LIMIT klausel, je nachdem ob die variable vor oder nach der LIMIT klausel gesetzt wird.

            http://dev.mysql.com/doc/refman/5.1/de/select.html

            Ilja