首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL计数查询不起作用

SQL计数查询不起作用
EN

Stack Overflow用户
提问于 2011-10-21 01:52:21
回答 3查看 1.5K关注 0票数 0

我对这个查询有问题:

代码语言:javascript
运行
复制
SELECT Ordre.Objet, Count(Ordre.Objet) AS CompteDeObjet
FROM Ordre INNER JOIN Avis ON Ordre.[Ordre SAP] = Avis.[Ordre SAP]
GROUP BY Ordre.Objet, Avis.[Date Appel], Ordre.Objet
HAVING (((Avis.[Date Appel])>#8/1/2011# And (Avis.[Date Appel])<#10/20/2011#) AND ((Ordre.Objet) Is Not Null));

我使用Access 2003生成的。它应该计算Object列中每种类型的项数,但它只显示每个不同项的计数...似乎想不出该怎么做。

编辑

考虑到前两个答案,我将代码更改为以下代码,但仍然得到相同的结果:

代码语言:javascript
运行
复制
SELECT Ordre.Objet, Count(Ordre.Objet) AS CompteDeObjet
FROM Ordre INNER JOIN Avis ON Ordre.[Ordre SAP] = Avis.[Ordre SAP]
WHERE (((Avis.[Date Appel])>#8/1/2011# And (Avis.[Date Appel])<#10/20/2011#) AND ((Ordre.Objet) Is Not Null))
GROUP BY Ordre.Objet; 

编辑#2这里是我的数据示例:

Ordre SAP对象

11147212单工

11147214单工

11147215单工

11147216单工

11147225单工

11147240自动调平

11147243

11147247个树冠

11147259 Capteur

下面是上次编辑的查询给我的结果:

自动1级罩1 Capteur 1单工1

我的所有数据都包含在查询中指定的日期范围内。对不起,我不知道如何在合适的桌子上显示,我是新来的……

EN

回答 3

Stack Overflow用户

发布于 2011-10-21 01:59:02

查询将为每个分组依据的项目提供一行/计数。

您正在对以下内容进行分组:

代码语言:javascript
运行
复制
 GROUP BY Ordre.Objet, Avis.[Date Appel], Ordre.Objet

因此,对于每个对象/日期外观组合,您将获得一个计数

票数 2
EN

Stack Overflow用户

发布于 2011-10-21 01:57:39

尝试将HAVING子句中的内容移动到WHERE子句。HAVING对分组的项目进行筛选,它可能会阻止查询正确计算项目的数量。

票数 0
EN

Stack Overflow用户

发布于 2011-10-21 20:03:16

好了,我找到了我的问题所在:

我有比我的Avis更多的命令,并不是所有的avis都附加了命令。不知何故,我的查询只计算附加了Avis的对象(因为JOIN子句?)因此,在测试时,我只是随机地将许多不同的值放入order表中的随机记录。只是碰巧我把每一个都放在有对应Avis的Ordres上...

愚蠢的我:)

尽管如此,还是要感谢大家,帮助总是会被感谢的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7840051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档