【发布时间】:2015-08-20 23:41:24
【问题描述】:
我有以下代码
SELECT C_Record.BunchOfColumns, Count(*) AS Degrees
FROM C_Record
WHERE (((C_Record.[C#])=[Enter Value])) //Parameter Input from User
GROUP BY C_Record.BunchofColumns;
My Degrees 列从不增加,无论查询返回多少行,它始终显示 1。我怀疑我没有正确实现我的GROUP BY 方法。如果我理解正确,所有被选中但不属于聚合函数的列(在我的例子中是COUNT)都应该放在GROUP BY 中。任何帮助深表感谢。提前致谢
编辑:我想要实现的是检查有多少行具有特定列的值,然后选择所有其他相关列并创建索引列。例如如果有三行满足我的要求
Col1 Col2 Degrees
A X 1
B Y 2
C Z 3
如果只有 2 行符合我的要求,那么
Col1 Col2 Degrees
P X 1
Q Y 2
P.S - 我的 C_Record.BunchofColumns 包含大约 10 列,为了简洁起见,我没有包括在内。
P.P.S - 如果我尝试跳过任何列,它会给我错误 You Tried to execute a query that does not include the specified expression <<column_name>> as part of an aggregate function
【问题讨论】:
-
Degrees列只是 1、2、3、4 等,还是我缺少其他一些逻辑? -
如果是这样,那么you forgot the JOIN。
-
我明白了。我认为这正是我所需要的。谢谢凯文。如果您可以更新您的答案...我会将其标记为完成
标签: sql ms-access-2007