MySQL - Group by-Bereich
Ich brauche zum zählen der Datensätze innerhalb der Wertebereiche.
Zum Beispiel: für die Einstellung 1, 7, 9, 23, 33, 35, 1017
select count(myvalue) group by round(myvalue /10)
gibt so etwas wie:
0-10 -> 3
10-20 -> 0
20-30 -> 1
30-40 -> 2
1010-1020 -> 1
Diese funktioniert einwandfrei. Ich muss jedoch eine Obergrenze festlegen, so dass MySQL gibt 40+ --> 1
?
Wie kann das erreicht werden ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder die Summe der Werte auf der client-Seite, oder verwenden Sie zwei Abfragen, die möglicherweise mit
union
, um die Daten abzurufen, z.B.:Es ist durchaus möglich, schreiben Sie es in einer einzigen Abfrage mit Unterabfragen oder wechselhafte Bedingungen, aber es wäre einfach nicht so einfach und wartbar.
Ich würde vorschlagen, diese Lösung, leiht sich von beiden pilsetnieks und Jayram Lösungen:
range
ist ein reserviertes Wort: 9.3 Reservierte Worte