Сложный запрос, нету сил больше - MySQL
Формулировка задачи:
Есть таблица в которой много полей, выбрать нужно все. Есть 2 поля с помощью которых нужно сформировать ответ - code (название, неуникальное значение) date(неуникальное значение, тип дата). Собственно, задача заключается в том чтобы вывести все записи из таблицы по двум критериям - уникальный code з максимальной date.
для наглядности: есть 2 записи - code ("old", "new") date (17/11/2016, 18/11/2016). Должно вывести запись 'code'.
Решение задачи: «Сложный запрос, нету сил больше»
textual
Листинг программы
SELECT * FROM (SELECT * FROM cpt_codes ORDER BY effective_date DESC) a GROUP BY (code);
Объяснение кода листинга программы
- Сначала выполняется запрос
SELECT * FROM cpt_codes ORDER BY effective_date DESC
, который сортирует данные в таблицеcpt_codes
по столбцуeffective_date
в порядке убывания. - Результат этого запроса сохраняется в подзапросе и присваивается псевдониму
a
. - Затем выполняется запрос
SELECT * FROM a GROUP BY (code)
, который группирует данные из подзапроса по столбцуcode
. - Результат этого запроса возвращается в качестве результата основного запроса.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д