|
|
|
| Есть вот такой запрос
select max(num) , type_doc from incoming where type_doc = 6 group by type_doc
|
тип даних num - bigint , в нем содержаться примерно такие числа 1131010337. Запрос выдает не верные результаты, т.е первую строку, которую находит. Значит ли это, что число забольшое для оператора МАХ или проблема в постройке запроса?
Спасибо! | |
|
|
|
|
|
|
|
для: Саша
(04.11.2005 в 16:20)
| | Уберите конструкцию group by type_doc - именно она виновата в таком повидении. | |
|
|
|
|
|
|
|
для: cheops
(04.11.2005 в 18:38)
| | так вот пробовал, но MySQL новой версии работает с МАХ только с констукцией group by, иначе генерируеться ошибка
Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
|
| |
|
|
|
|
|
|
|
для: Саша
(05.11.2005 в 12:24)
| | Правильно, нельзя задавать поле type_doc... Дело в том, что указанные функции являются агрегатными - они реагируют на присутствие GROUP BY, если эта конструкция присутствует, то максимальное значение вычисляется для каждой из группы, если GROUP BY нет, за группу считается вся выборка. Когда нет GROUP BY, агрегатные функции (MIN(),MAX(),COUNT()) возвращают единственное значение и возникает конфликт с полем type_doc, которое возвращает множество значений... | |
|
|
|