Ravenhawk: Platzierung einer seite errechnen und ausgeben

Hi

Ich habe ein Problem und komme hier echt nicht weiter... ich habe eine MYSQL-Tabelle in der seitenaufrufe gespeichert werden:

Tabelle:
counter_id |     date     | time
counter1   | 13.01.2005   | 21:26
counter2   | 13.01.2005   | 21:26
counter1   | 13.01.2005   | 21:26
counter1   | 13.01.2005   | 21:26
counter3   | 13.01.2005   | 21:26
counter3   | 13.01.2005   | 21:26
counter4   | 13.01.2005   | 21:26

Mit der Abfrage kann ich die Rankliste generieren:
select count(counter_id) AS aufrufe, counter_id from count group by aufrufe desc

Ausgabe der SELECT-Abfrage:
aufrufe | counter_id
    3   | counter1
    2   | counter3
    1   | counter2
    1   | counter4

Nun die frage:

Wie kann ich nur für eine Seite Abfragen, an welchem Platz die Seite in der Rankliste steht?

Ich möchte lediglich auf der seite mit der z.B. counter_id 1 ausgeben, das sie auf platz 1 steht.

Wie kann ich das realisieren? Geht das mit einer Abfrage ohne dazu die gesammte Tabelle abzufragen?

Ravenhawk

  1. Ho

    Wie kann ich nur für eine Seite Abfragen, an welchem Platz die Seite in der Rankliste steht?

    Ich möchte lediglich auf der seite mit der z.B. counter_id 1 ausgeben, das sie auf platz 1 steht.

    Schon was von der WHERE- Klausel gehört?

    select count(*) AS aufrufe, from count WHERE counter_id = 'counter1'

    LG Kalle

    1. Sorry,

      du wolltest ja den PLATZ wissen und nicht die Anzahl der Aufrufe. Da muss ich noch mal grübeln ...

      1. also, wenn es gelingt, deiner bisherigen Liste als weitere Spalte eine laufende Nummer zu verpassen (das Ranking), etwa so:

        Ausgabe der neuen SELECT-Abfrage:

        lfd | aufrufe | counter_id
          1 |     3   | counter1
          2 |     2   | counter3
          3 |     1   | counter2
          4 |     1   | counter4

        dann kannst du nach dem GROUP BY die Treffer mit der HAVING- Klausel weiter einschränken:

        select **lfd**, count(counter_id) AS aufrufe, counter_id from count group by aufrufe desc HAVING counter_id = 'counter1'

        Ich weiss nur im Moment nicht, wie man eine Zählnummer generiert.

        LG Kalle