Group By und Limit
Borewa
- datenbank
0 Borewa
Guten Tag,
ich lasse mir alle meine Kunden in einem Script anzeigen. Mithilfe von Limit lasse ich mir nur Stücke anzeigen, damit ich mehrere Seiten habe und es etwas übersichtlicher wird.
SELECT
*
FROM
kunden
LIMIT 0,10
Zusätzlich habe ich eine Abfrage welche mir die Anfangsbuchstaben von jedem Nachnamen holt, damit ich so per Anker direkt zu dem Buchstaben springen kann.
SELECT
LEFT(Nachname, 1) FirstChar
FROM
kunden
GROUP BY FirstChar
ORDER BY FirstChar ASC
Nun möchte ich aber das ich nur die Anfangbuchstaben bekommen, welche in meinem Limit Block von den Kunden, liegen, dieser verändert sich eben pro Seite 0,10, 10,10 usw ...
Wenn ich aber
SELECT
LEFT(Nachname, 1) FirstChar
FROM
kunden
GROUP BY FirstChar
ORDER BY FirstChar ASC
LIMIT 0,10
mache, dann nimmt er mit nur die ersten 10 (bzw. immer ein 10 faches wegen den Seiten) Anfangbuchstaben.
Im Grunde ja auch logisch, er nimmt alle Anfangbuchstaben und von dieser Menge wird eben das Limit gemacht.
Aber wie bekomme ich nur die Anfangbuchstaben von meinem Kundenblock die dem Limit x,10 unterliegen?
Ich liebe so etwas ... da grübelt man den ganzen Tag über ein Problem und kommt nicht weiter und denkt sich, dann wohl ich mir eben Hilfe von extern und keine 30min später kommt man selber auf die Lösung.
SELECT FirstChar
FROM
(SELECT
LEFT(Nachname, 1) FirstChar
FROM
kunden
LIMIT 0,10) a
GROUP BY FirstChar
ORDER BY FirstChar ASC