Как узнать количество заполненных столбцов? - 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

Объяснение кода листинга программы

  1. В данном коде используется язык SQL для написания запроса к базе данных.
  2. Запрос SELECT используется для выбора данных из таблицы TABLE.
  3. В запросе выбираются следующие столбцы: tag, col1, col2, ..., col10.
  4. Для каждого выбранного столбца применяется условие CASE WHEN для проверки на NULL.
  5. Если значение столбца не равно NULL, то в результирующий набор данных добавляется 1.
  6. Результирующий набор данных формируется путем сложения всех полученных значений 1.
  7. Полученное значение записывается в столбец с именем res.
  8. Запрос выполняется на таблице TABLE.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5