Angenommen, ich habe einen Primärschlüssel pk
und eine Nullable Spalte col
. Ich möchte aufeinanderfolgende Reihenfolgen finden, wobei col
NULL
ist, geordnet in absteigender Reihenfolge der Lauflänge.Wie werden Lauflängen von NULL-Läufen in MySQL gezählt?
Ich werde als eine gültige Antwort eine Abfrage akzeptieren, die die Lauflängen allein zurückgibt, aber in der Zukunft (vielleicht in einer separaten Frage) werde ich einige pk
wissen möchte, die mich entweder auf den Anfangs- oder Endpunkt zeigt jeder Lauf.
Beispieldaten:
pk col
-- ---
1 'a'
2 NULL
3 'b'
4 NULL
5 NULL
6 NULL
7 'c'
8 NULL
9 NULL
10 'd'
Erwartetes Abfrageer:
runlengths
----------
3
2
1
Ich ziehe Standard-SQL, wenn möglich, aber dies ist ein Produktionsdatensatz gespeichert in MySQL für die Analyse, so was am besten funktioniert in dieser Kontext.
Wahrscheinlich zu spät, um jetzt zu ändern, aber für zukünftige Referenz wäre es besser für Sie, eine Datenbank zu verwenden, die die Standard-SQL-Analysefunktionen unterstützt (d. H. So ziemlich alles außer MySQL). –
Yup! Es war in diesem Fall völlig außer Kontrolle geraten, aber für meine eigenen Projekte werde ich Ihre Ratschläge berücksichtigen. –