Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > запрос выдает ошибку: [1111] Invalid use of group


Автор: zammar 17.3.2010, 15:45
язык php
база mysql 5

Есть запрос:

Код

SELECT SQL_CALC_FOUND_ROWS c.cat_id, MIN(f.date), MAX(f.date) 

FROM categs c LEFT JOIN catlinks l ON l.link_cat_id = c.cat_id LEFT JOIN forum f ON f.id = l.link_el_id 

WHERE c.cat_ident = "forum" AND cat_id IN ('74') AND c.cat_rubrik="1" 

GROUP BY c.cat_id ORDER BY MAX(f.date) DESC LIMIT 0,20


Который дает ошибку:
[1111] Invalid use of group function

Причем не везде выдает, почти на всех серверах на которых тестил код работал. Как только клиент повесил сайта на хостинг стала вылазить ошибка!
Что не так в запросе? Или это связано с настройками хостинга?

Автор: skyboy 17.3.2010, 17:02
Цитата(zammar @  17.3.2010,  14:45 Найти цитируемый пост)
ORDER BY MAX(f.date)

так нельзя.
но можно указать номер поля в секции SELECT:
Код

ORDER BY 3



Автор: Zloxa 17.3.2010, 17:04
?
Код

SELECT SQL_CALC_FOUND_ROWS c.cat_id, MIN(f.date), MAX(f.date)  max_date
FROM categs c LEFT JOIN catlinks l ON l.link_cat_id = c.cat_id LEFT JOIN forum f ON f.id = l.link_el_id 
WHERE c.cat_ident = "forum" AND cat_id IN ('74') AND c.cat_rubrik="1" 
GROUP BY c.cat_id ORDER BY max_date DESC LIMIT 0,20


Автор: zammar 18.3.2010, 10:13
Всем спасибо, ребята!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)