MySQL Warning 1052 Column ‘url’ in group statement is ambiguous (Linux) 27.03.2007
Наткнулся на занятную ошибку в MySQL.
Делаем следующий запрос: select sum(size) as size,trim(leading "http://" from substring_index(url,'/',3)) as url from table_name where to_days(date)>=to_days("20070315") and to_days(date)<=to_days("20070331") and user='user' group by url order by size desc;
В системе учета трафика над которой я работаю таким запросов можно увидеть сайты посещенные пользователем за определенный период времени с группировкой по адресу и сортировкой по суммарному объему данных полученных с каждого ресурса.
Получаем ответ без группировки по урлам и с примерно вот таким окончанием: 113 rows in set, 1 warning (21.28 sec)
Рассматриваем проблемму более детально:
mysql> show warnings;
+---------+------+----------------------------------------------+
| Level | Code | Message |
+---------+------+----------------------------------------------+
| Warning | 1052 | Column 'url' in group statement is ambiguous |
+---------+------+----------------------------------------------+
Причем пару недель назад все работало как часы.
Решение нашел модифицировав запрос таким образом: select sum(size) as size,trim(leading "http://" from substring_index(url,'/',3)) as url_col from table_name where to_days(date)>=to_days("20070315") and to_days(date)<=to_days("20070331") and user='user' group by url_col order by size desc;
Теперь копаюсь в логах и ищу причину начала такого поведения... Если раскопаю, напишу...