За последние 24 часа нас посетили 16596 программистов и 1650 роботов. Сейчас ищут 2029 программистов ...

Аггрегатная функция => Unknown column

Тема в разделе "MySQL", создана пользователем Sergey108, 14 авг 2016.

  1. Sergey108

    Sergey108 Новичок

    С нами с:
    15 июл 2016
    Сообщения:
    71
    Симпатии:
    1
    Выполняя такой запрос
    Код (Text):
    1. SELECT MIN(`time`) AS 'mt' FROM `table` WHERE `mt` >= 123456
    получаю ошибку
    Почему? С каунтом работает, а тут вдруг ошибка.
    Какие пути решения присутствуют?
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Если ты вдумаешься в то, что написано в запросе, ты поймешь его абсурдность. mt - это уже найденное минимальное значение среди всех значений таблицы.
     
  3. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Агрегированные поля недоступны WHERE. Для них используется HAVING.
     
    Sergey108 нравится это.
  4. Sergey108

    Sergey108 Новичок

    С нами с:
    15 июл 2016
    Сообщения:
    71
    Симпатии:
    1
    Запрос вырван из контекста, на деле он сложнее. На деле мне нужно сгруппировать и отфильтровать эти группы по этому полю mt.

    Всем спасибо.
    --- Добавлено ---
    HAVING помог, то, что надо, спасибо!