MySQL Warning 1052 Column ‘url’ in group statement is ambiguous

Наткнулся на занятную ошибку в 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;

Теперь копаюсь в логах и ищу причину начала такого поведения... Если раскопаю, напишу...

На сообщение “MySQL Warning 1052 Column ‘url’ in group statement is ambiguous” комментариев 5

  1. Gorinich:

    Фишка в том, что у тебя group видит 2 поля url. Одно, которое изначально есть в таблице, а другое, которое ты создаешь командой as. При выводе ты увидишь только последнее, а group увидит оба. Вот он и ругается ).
    Не представлю как оно раньше-то работало ).

  2. Антон:

    Интересно что раньше работало. И «sum(size) as size» всегда отрабатывал нормально. То есть «as url» был более приоритетным и перекрывал существующий столбец url для group. Я не могу понять в какой момент начались косяки, если версия не менялась.
    Но в принципе все к лучшему, так все равно более правильно. 🙂

  3. Вячеслав:

    У Вас очень интересный сайт! Мне очень понравилось!

  4. Ulf Raharjo:

    see it’s very define,your one of a kin. Ulf Raharjo.

  5. jattefrarne:

    HI

Оставить комментарий

 

Subscribe without commenting