проблема с GROUP BY CLAUSE в доступе - PullRequest
0 голосов
/ 06 апреля 2011


Мне нужна ваша помощь в доступе DB
у меня есть такой стол

ID     CLASS    LESSON
1      7        MATH
2      7        CHEM
3      8        GEOM
4      8        MATH
5      8        CHEM
6      9        MATH
...

в mysql sql команда, как это

select CLASS, LESSON
from t_class
group by LESSON

возвращает результат как

ID     CLASS     LESSON
1      7         MATH
2      7         CHEM
3      8         GEOM
...

но получить доступ к sql-команде вот так

select CLASS, LESSON
from t_class
group by LESSON

выдает ошибку
Вы попытались выполнить запрос, который не включает указанное выражение 'УРОК', как часть агрегатной функции
Так в чем же проблема и как ее решить ..
Спасибо

Ответы [ 3 ]

1 голос
/ 06 апреля 2011

Проблема в том, что вам нужно указать CLASS в статистической функции, например, sum, max, min, avg или тому подобное.

Вы можете попробовать:

select sum(CLASS), LESSON
from t_class
group by LESSON

Вы также можете сделать

select CLASS, LESSON
from t_class
group by LESSON, CLASS

но какой в ​​этом смысл?

0 голосов
/ 06 апреля 2011

вам нужно использовать Агрегирующую функцию на УРОКЕ или КЛАССЕ (согласно вашему требованию), поскольку вы используете GROUP BY

0 голосов
/ 06 апреля 2011

Это дает ошибку, потому что если вы используете агрегатные функции, вы можете получить только те поля, для которых вы GROUP BY добавили, и результат агрегатных функций.

Это также не ясно какое значение КЛАССА вы хотите получить? Наименьшее возможное значение? Затем используйте агрегатную функцию MIN, например:

select MIN(CLASS), LESSON
from t_class
group by LESSON
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...