Zum Inhalt springen

MySQL: Schwieriges SQL Statement


Habi

Empfohlene Beiträge

Hallo zusammen,

schwieriges Problem (für mich zumindest):

ich hab eine Tabelle:

nID int

nPageId int

...

folgende Einträge können z.B. vorkommen:

1 2 ...

2 2 ...

3 101 ...

4 102 ...

5 2 ...

6 101 ...

Nun möchte ich eine SQL Statement bauen, dass mir die Einträge folgendermaßen ausgibt:

2

101

102

das sind die pageIds (DISTINCT) sortiert nach der Häufigkeit ihres Vorkommens in der Tabelle.

Wie kann ich das in SQL abbilden?

Grüße

Timo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Habi

Hmm, gibt beim Ausführen den Fehler:

Unknown column 'ANZAHL' in 'field list'

:confused:

Hmm, sieht fast so aus, als würde MySQL keine Alias-Namen mögen... - oder es liegt am ORDER BY... - dann mach's mal so:

SELECT nPageId,ANZAHL = COUNT(*) FROM TABELLE GROUP BY nPageId ORDER BY COUNT(*)

Wenn du da noch ein DESC hinterhängst, sind die mit den meisten Einträgen oben... - hatte ich eben garnicht dran gedacht...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Habi

Selbe Fehlermeldung :(

Dann nehm mal statt ANZAHL = COUNT(*) folgendes: COUNT(*) AS ANZAHL

Wenn das auch nicht geht, dann lässt du auch das AS ANZAHL weg und nimmst nur COUNT(*) - allerdings hat diese berechnete Spalte dann keinen Namen - könnte also Probleme machen, je nachdem, wie du auf das Ergebnis zugreifen willst (Scriptsprache, Programmiersprache etc.)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Habi

@ Goos: Wieder ein Fehler:

Invalid use of group function (mit hevorgebobenen COUNT(*) )

Hmm, dann sieht's so aus, als könnte MySQL keine Funktionen in der Group-Klausel verwenden...

Letzter Versuch:

SELECT nPageId,COUNT(*) AS ANZAHL FROM TABELLE GROUP BY nPageId ORDER BY ANZAHL

Wenn jetzt wieder ANZAHL angemeckert wird, dann sieht's so aus, als wäre MySQL da leider an die Grenzen gekommen... - dabei dachte ich, sowas wäre da kein Problem :rolleyes: ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...