Как узнать количество заполненных столбцов? - MySQL
Формулировка задачи:
Помогите пожалуйста =( У меня всего 10 столбцов(не факт что в каждой строке будут заполнены все 10 столбцов) и немного строк (например 5), так вот, я делаю запрос на поиск в 1-ом столбце слова (например Disk), он мне выдаёт всю строку с заполненными 4 столбцами, так каким мне запросом получить 4?
Решение задачи: «Как узнать количество заполненных столбцов?»
textual
Листинг программы
SELECT tag, col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, CASE WHEN col1 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col2 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col3 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col4 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col5 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col6 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col7 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col8 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col9 IS NOT NULL THEN 1 ELSE 0 END + CASE WHEN col10 IS NOT NULL THEN 1 ELSE 0 END AS res FROM TABLE
Объяснение кода листинга программы
- В данном коде используется язык SQL для написания запроса к базе данных.
- Запрос SELECT используется для выбора данных из таблицы TABLE.
- В запросе выбираются следующие столбцы: tag, col1, col2, ..., col10.
- Для каждого выбранного столбца применяется условие CASE WHEN для проверки на NULL.
- Если значение столбца не равно NULL, то в результирующий набор данных добавляется 1.
- Результирующий набор данных формируется путем сложения всех полученных значений 1.
- Полученное значение записывается в столбец с именем
res
. - Запрос выполняется на таблице TABLE.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д