Forum Webscript.Ru
Общие => Базы данных => Тема начата: C++ от 21 Апреля 2003, 21:51:56
-
Привет!
Есть таблица:
_____________________
| id | c1 | c2 | c3 |
|____|____|____|____|
Все столбцы целые, кроме c1...
Делаю запрос:
SELECT DISTINCT c1,SUM(c2)/(SUM(c3)+1) FROM table WHERE id=20 ORDER BY SUM(c2)/(SUM(c3)+1) DESC LIMIT 5
Запрос не выполняется...
Не подскажите что не так?
-
> Запрос не выполняется...
что значит не выполняется?
Ошибку выдает? Если да, то какую?
-
Да, выдает ошибку:
Invalid use of group functions
-
Xander
Это не имеет значения, записей ведь с одним id может быть сколько угодно....
-
Нет, ничего не меяется, пробовал. Всё равно выдает эту ошибку....
-
1) твоя ошибка более точно звучит как: Mixing of GROUP columns (min(), max(), count()...) with no groups columns is illegal if there is no GROUP BY clause. (перевод надеюсь не требуется)
2) исходя из этого все исправляется очень просто:
SELECT DISTINCT c1,SUM(c2)/(SUM(c3)+1) as \'Das_ist_eine_summa\' FROM try WHERE id=20 GROUP BY c1 ORDER BY Das_ist_eine_summa DESC LIMIT 5
обрати внимание на AS - без него будешь получать ту же ошибку...
надеюсь это то, что тебе было нужно...
-
semya
Да, именно то, что нужно.
Большое спасибо!