kostenloser Webspace werbefrei: lima-city


MySQL ORDER BY count() und nur 1 Ergebnis je Treffer

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    seofav

    seofav hat kostenlosen Webspace.

    Hallo

    wie sieht ein SQL Befehl aus (MySQL)
    mit dem ich die Ergebnisse sortiert nach Anzahl gleicher Werte in einer Spalte bekomme ?

    Beispiel: verschiedene User tragen URLs ein

    wie erhalte ich als Sortierung die am häufigsten eingetragenen (gleichen) URLs ?

    irgendwie mit ORDER BY COUNT(url) ... ? aber wie ....

    und dann sollten die Einträge nicht alle ausgegeben werden,
    sondern je unique URL jeweils nur die entweder zuerst oder zuletzt eingetragene URL
    (die Spalte datum in Tabelle zum Link über DESC oder ASC prüfen)

    jemand ne Idee wie ich das machen kann? ... Beispiele?

    Danke !
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Also ich habe nicht ganz verstanden was du machen möchtest.

    Möchtest du die einträge zählen und vereienen oder wie?
    Weil dann würde ich dir vorschlagen einfach user eingaben suchen zu lassen und wenn sie schon vorhanden sind in einer countSpalte die Zahl um 1 erhöhen.
  4. Ich bin nicht sicher, ob ich das richtig verstanden habe. Bringt dies in etwa das gewünschte Ergebnis?
    SELECT
      url, COUNT(url), MAX(datum)
    FROM
      Tabelle
    GROUP BY
      url
    ORDER BY
      COUNT(url)


    Beitrag zuletzt geändert: 19.12.2011 15:16:30 von deddyh
  5. Autor dieses Themas

    seofav

    seofav hat kostenlosen Webspace.

    also nochmal ein Erklärungs-Versuch

    Datenbank Tabelle mit URLs

    id INT(10)
    user_id INT(10)
    url VARCHAR (255)
    title VARCHAR(100)
    ...
    datum VARCHAR(30)


    Abfrage:
    ... suche aus URLs mit Sortierung nach Anzahl des Vorkommens der URLs

    Ergebnis:
    URL xxxxxx kommt 7 mal vor
    URL yyyyyy kommt 3 mal vor
    URL zzzzzz kommt 1 mal vor
    ... usw.

    also wie mache ich es, dass ich im Ergebnis jede URL nur einmal habe zusammen mit der Anzahl ?

    und nein, es ist leider keine Counter Spalte vorhanden,
    sonst wäre es ja (zu) einfach :)


    EDIT: Danke eddyh für den Ansatz ..... macht GROUP BY dass jede URL nur einmal im Ergebis ist ?
    ich probiere es mal damit aus, Danke erstmal.

    EDIT ... Danke ....funktioniert !!!! ... habe bei ORDER noch DESC eingefügt,
    damit bekomme ich jetzt die am häufigsten vorkommenden URLs zuerst
    :) *freu*



    Beitrag zuletzt geändert: 19.12.2011 14:57:23 von seofav
  6. e******n

  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!