Angenommen, ein Szenario ähnlich zu diesem question. Ich mag die folgenden Ergebnisse erhalten:sql - Gruppe von in Bereichen, um Bereiche ohne Werte zu enthalten
score range | number of occurrences
-------------------------------------
0-9 | 11
10-19 | 14
20-29 | 3
... | ...
Und ich kann die ausgewählte Antwort als Lösung verwenden:
select t.range as [score range], count(*) as [number of occurences]
from (
select case
when score between 0 and 9 then ' 0- 9'
when score between 10 and 19 then '10-19'
else '20-99' end as range
from scores) t
group by t.range
Wie kann ich versichern, dass der Score-Bereich von 30 bis 39 wird Anzeige, selbst wenn Es gibt keine Ergebnisse in diesem Bereich?
nicht wirklich eine Antwort auf Ihre Frage, aber warum nicht tun Sie es einfach auf der Codierungsseite? –
Eine Dummy-Range-Tabelle, oder gehen Sie mit Ben Lees Ratschlag ... – Wrikken
@BenLee Das ist, was ich gerade mache. aber ich mag es, die ganze Logik zusammen zu halten – dcarneiro