ACCESS中GROUP BY CLAUSE的问题

时间:2011-04-06 09:17:52

标签: c# ms-access


我需要你的帮助访问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

给出错误
您尝试执行的查询不包含指定表达式“LESSON”作为聚合函数的一部分
那么问题是什么以及如何解决问题。
感谢

3 个答案:

答案 0 :(得分:1)

问题是,您需要在聚合函数中指定CLASS,例如summaxminavg等。

你可以尝试:

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

您也可以

select CLASS, LESSON
from t_class
group by LESSON, CLASS

但有什么意义呢?

答案 1 :(得分:0)

这会产生错误,因为如果使用聚合函数,则只能获取GROUP BY - ed的字段以及聚合函数的结果。

不清楚您希望获得CLASS的价值?最不可能的价值?然后使用聚合函数MIN,如:

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

答案 2 :(得分:0)

您需要在LESSON或CLASS上使用Aggregate function(根据您的要求),因为您使用的是GROUP BY