首页 > 解决方案 > 如何以 Ms.Access 查询为条件选择 COUNT(DISTINCT) 和 WHERE

问题描述

我只是想简单地使用 where 条件来计算,但是这个查询要求我提供参数而不是自动执行查询

SELECT COUNT(ActDiscDischargingPort) from(
SELECT DISTINCT ActDiscDischargingPort FROM SelisihLoadVSActualLoadTable) WHERE SchLoadVessel LIKE "XB24 - MV. MEMPHIS" AND SchLoadVoyageNo LIKE "0019";

编写此查询的正确方法是什么?

找到答案,原来查询必须是这样的

SELECT COUNT(ActDiscDischargingPort) from ( SELECT DISTINCT ActDiscDischargingPort FROM SelisihLoadVSActualLoadTable WHERE SchLoadVoyageNo LIKE "XB24 - MV. MEMPHIS" AND SchLoadVessel LIKE "0019" )

标签: ms-access

解决方案


每个派生表都必须有自己的别名。正确的语法是

SELECT
  COUNT(ActDiscDischargingPort)
from(
    SELECT
      DISTINCT ActDiscDischargingPort
    FROM
      SelisihLoadVSActualLoadTable
  ) AS T
WHERE
  SchLoadVessel LIKE "XB24 - MV. MEMPHIS"
  AND SchLoadVoyageNo LIKE "0019";

您可以通过稍微优化查询来进一步加快查询速度。


推荐阅读