Запрос для подсчета количества идущих подряд одинаковых значений - MySQL
Формулировка задачи:
Здравствуйте, есть в таблице столбец, например:
1
2
1
1
1
1
3
3
1
1
Сортировать не нужно, то есть, данные должны быть именно в таком порядке.
Получить нужно следующее:
1
1
4
2
2
То есть, для первого 1, для второго один, для третьего 4, для четвертого 2 и для пятого 2. Можно это как-то запросом, или несколькими запросами получить?
Решение задачи: «Запрос для подсчета количества идущих подряд одинаковых значений»
textual
Листинг программы
ALTER TABLE `room_num` ADD `id` INT(3) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);
Объяснение кода листинга программы
- В данном коде происходит добавление нового столбца с именем
idв таблицуroom_num. - Тип данных для столбца
idуказан как INT(3), что означает целочисленный тип данных с длиной поля в 3 символа. - Установлено ограничение NOT NULL, которое гарантирует, что в столбце
idне могут быть пустые значения. - Установлено автоматическое инкрементирование (AUTO_INCREMENT), которое генерирует уникальные значения для столбца
idпри добавлении новых записей в таблицу. - Установлено, что первая запись в таблице будет иметь значение
idравное 1. - Установлен PRIMARY KEY для столбца
id, что означает, что этот столбец является первичным ключом таблицы и должен содержать уникальные значения.