Предположим, у меня есть первичный ключ pk
и нулевая колонка col
. Я хочу найти последовательные последовательности строк, где col
- NULL
, упорядоченный в порядке убывания длины пробега.Как подсчитать длины выполнения NULL в MySQL?
Я буду принимать в качестве действительного ответа запрос, который возвращает длины выполнения в одиночку, но в будущем (возможно, в отдельном вопросе) мне нужно знать некоторые pk
, которые указывают мне либо начальную, либо конечную точку каждый бег.
Пример данных:
pk col
-- ---
1 'a'
2 NULL
3 'b'
4 NULL
5 NULL
6 NULL
7 'c'
8 NULL
9 NULL
10 'd'
Ожидаемый результат запроса:
runlengths
----------
3
2
1
Я предпочитаю стандартный SQL, если это возможно, но это для анализа набора данных производства, хранящегося в MySQL, поэтому все, что лучше всего работает в этот контекст.
Возможно, слишком поздно для изменения, но для дальнейшего использования вам было бы лучше использовать базу данных, которая поддерживает стандартные аналитические функции SQL (т. Е. Почти все, кроме MySQL). –
Yup! В этом случае я был полностью вне моего контроля, но для своих проектов я буду помнить ваш совет. –