繁体   English   中英

来自 MS Access 的 SQL 复制查询

[英]SQL Copied query from MS Access

我正在尝试在 SQL 中重新创建 MS Access 查询,以下是转换为在 SQL 中运行的 Access 查询

    SELECT Column1
          ,Column2
          ,Column3
          ,Count('x') AS CountX
    FROM [SchmaName].[SQLView]
    WHERE ("SomeWhereStatement")
    GROUP BY Column1, Column2, Column3
    HAVING Count('x')>1;

我感到困惑的是

 ,Count('x') AS CountX

 HAVING Count('x')>1;

X 不是来自已创建的 SQLView,当我运行上面的代码时,它将返回一个记录,其中第 1 - 3 列为空,而 CountX 列为 12896。我期望这个返回总共大约 4285 条记录,我怀疑我不是的原因与这个伯爵有关。 关于这个计数实际上在做什么的任何建议?

当您在COUNT()传递任何常量参数(即“x”是常量参数)时,它将返回记录总数:

因此,对于您的查询,它将返回基于使用GROUP BY子句定义的列的记录。

SELECT Column1, Column2, Column3, Count('x') AS CountX
FROM [SchmaName].[SQLView]
WHERE ("SomeWhereStatement")
GROUP BY Column1, Column2, Column3
HAVING Count('x') > 1; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM