Я пытаюсь запросить различные ряды при преобразовании поля даты в формат строки: < /p>
SELECT DISTINCT M.col1, M.col2, DATE_FORMAT(M.date_col, '%m/%d/%y') as date_col
FROM t1 M
ORDER BY col1, date_col;
< /code>
Это может привести к вопросам заказа, поскольку теперь его теперь заказывают date_col как строку вместо поля даты. Я подумал, что могу исправить это, преобразив date_col обратно в предложение заказа: < /p>
...
ORDER BY col1, STR_TO_DATE(date_col, '%m/%d/%y');
< /code>
Это приводит к ошибке 3065 - Статья по порядку.SELECT DISTINCT M.col1, M.col2, DATE_FORMAT(M.date_col, '%m/%d/%y') as formatted_date_col
FROM t1 M
ORDER BY col1, STR_TO_DATE(formatted_date_col, '%m/%d/%y');
< /code>
, что приводит к одной и той же ошибке. < /p>
Почему mysql говорит, что как date_col, так и formatted_date_col не являются частью выбора? Конечно, удаление различия делает вышеупомянутое работу правильно, но мне нужно быть различным.
Подробнее здесь: https://stackoverflow.com/questions/796 ... t-distinct