Как правильно вытащить повторяющиеся данные - MySQL
Формулировка задачи:
SELECT формирует вот такую таблицу
https://yadi.sk/i/OunAaPz13NCo9v
Уникальные данные хранятся только в поле meta_value (город, фамилия, телефон, e-mail)
как поправить чтобы было вот так
Фамилия / Город / Телефон / Email / comment / points / created ?
Решение задачи: «Как правильно вытащить повторяющиеся данные»
textual
Листинг программы
SELECT MAX(CASE WHEN `Author_str` LIKE 'Сергей%' THEN `Author_str` ELSE 'no' END) AS `Sergey`, MAX(CASE WHEN `Author_str` LIKE 'Василий%' THEN `Author_str` ELSE 'no' END) AS `Vasiliy` FROM `super_authors` WHERE 1 LIMIT 0 , 30
Объяснение кода листинга программы
- Код написан на SQL (Structured Query Language), который используется для работы с реляционными базами данных, в данном случае MySQL.
- Задача состоит в том, чтобы извлечь повторяющиеся данные из таблицы
super_authors
. - В коде используется функция
MAX()
вместе с операторомCASE
, чтобы выбрать максимальное значение для каждой категории. - В первом условии
CASE
проверяет, начинается ли строка в полеAuthor_str
с 'Сергей%'. Если это так, то она возвращает это значение, в противном случае возвращает 'no'. - Во втором условии
CASE
проверяет, начинается ли строка в полеAuthor_str
с 'Василий%'. Если это так, то она возвращает это значение, в противном случае возвращает 'no'. - Результаты каждой функции
MAX()
с операторомCASE
сохраняются в отдельные переменные с именамиSergey
иVasiliy
соответственно. - Запрос ограничивается первыми 30 строками с помощью оператора
LIMIT
. - Таблица
super_authors
- это источник данных для запроса. - В результате выполнения этого кода будет получена одна строка с двумя значениями:
Sergey
иVasiliy
. Эти значения будут содержать последние (или максимальные) значения для строк, которые начинаются с 'Сергей%' и 'Василий%' соответственно. Если таких строк нет, то вместо этих значений будет 'no'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д