Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / group by в запросе / 5 сообщений из 5, страница 1 из 1
26.04.2011, 22:24
    #37234776
anrio13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
group by в запросе
я только начал изучать visual foxpro
при создании запроса возник такой вопрос
дана таблица 1 в ней ряд полей и надо посчитать сумму полей one и two , пишу

SELECT _1.kodpp, _1.one, _1.two, SUM(_1.one+_1.two);
FROM data1!1 _1;
GROUP BY _1.kodpp;

и выдает постоянную ошибку
Sql:GROUP BY clauseis missing or invalid


SUM(_1.one+_1.two); писал в Fields в function and expression

без group by простые запросы уже получались а этот никак
...
Рейтинг: 0 / 0
26.04.2011, 23:23
    #37234853
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
group by в запросе
В опции group by должны быть перечислены все поля, которые не используются в аггрегирующих функциях. Либо на эти поля необходимо наложить аггрегирующие функции, если их значение роли не играет.

Другими словами, у Вас два варианта действий

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
* Вариант  1 

SELECT ;
	_1.kodpp, ;
	_1.one, ;
	_1.two, ;
	SUM(_1.one +_1.two) ;
FROM data1! 1  _1 ;
GROUP BY ;
	_1.kodpp, ;
	_1.one, ;
	_1.two

* Вариант  2 

SELECT ;
	_1.kodpp, ;
	max(_1.one) as one, ;
	max(_1.two) as two, ;
	SUM(_1.one +_1.two) ;
FROM data1! 1  _1 ;
GROUP BY ;
	_1.kodpp

Какой вариант использовать зависит от того, что Вы хотите получить в результате.
...
Рейтинг: 0 / 0
27.04.2011, 00:52
    #37234933
anrio13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
group by в запросе
я попробовал оба варианта выдает
SQL: aggregate on non-numeric expression

пробовал менять кол-во поле в запросе, изменял функции во втором варианте - не помогает
и кстати ,что именно является агрегатными функциями кроме среднего значения суммы и максимум-минимум?
...
Рейтинг: 0 / 0
27.04.2011, 08:49
    #37235097
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
group by в запросе
anrio13я попробовал оба варианта выдает
SQL: aggregate on non-numeric expression
Так у вас поля не числовые. А вы их суммы хотите найти.
ЗЫ. еще count().
...
Рейтинг: 0 / 0
30.04.2011, 23:32
    #37241718
anrio13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
group by в запросе
спасибо, понял свою ошибку, я в типах полей не совсем еще разбираюсь, вот и ляпнул
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / group by в запросе / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]