Sql 嵌套查询中的问题计数结果

Sql 嵌套查询中的问题计数结果,sql,ms-access,Sql,Ms Access,我正在尝试将此查询中的结果数相加。UCASE(右(出发时间,2))为我提供下午四点和上午一点,总共五点。我希望它只是一个AM列和一个PM列,EX:AM | 1,在PM | 4之上 我目前得到的错误 您的查询没有将指定的表达式“UCASE(RIGHT(DepartureTime,2))”作为聚合函数的一部分 之所以出现错误,是因为在查询中引入了聚合函数,而没有在末尾附加GROUPBY子句 通过添加按部门分组时间修改查询。groupby子句将记录分组为摘要 下面的代码应该会给出预期的结果,但我还没有

我正在尝试将此查询中的结果数相加。
UCASE(右(出发时间,2))
为我提供下午四点和上午一点,总共五点。我希望它只是一个AM列和一个PM列,EX:AM | 1,在PM | 4之上

我目前得到的错误

您的查询没有将指定的表达式“
UCASE(RIGHT(DepartureTime,2))
”作为聚合函数的一部分


之所以出现错误,是因为在查询中引入了聚合函数,而没有在末尾附加
GROUPBY
子句

通过添加
按部门分组时间修改查询。
groupby
子句将记录分组为摘要

下面的代码应该会给出预期的结果,但我还没有尝试过

SELECT UCASE(RIGHT(DepartureTime,2)) AS [Time of Departure], COUNT(*) AS [PassengerCount]
FROM Flight
WHERE FlightNumber IN


  (SELECT FlightNumber
   FROM Manifest
   WHERE FlightDate BETWEEN #07/01/2016# AND #12/31/2016# AND PassengerNumber IN


      (SELECT PassengerNumber
       FROM Passenger
       WHERE FFNumber IN

        (SELECT FFNumber
         FROM FrequentFlyer
         WHERE PremierStatus = 3)))

GROUP BY DepartureTime;

差不多了。现在我仍然有5行,每个行中的数字1作为乘客计数。我需要添加什么才能使它只包含两行总数?这篇文章中的答案可能会有帮助-@A.North嗨,请选择一个正确的答案并向上投票,以表示感谢。干杯您应该知道,日期/时间应始终作为日期值处理,而不是字符串、数字,没有例外。因此,在国际环境中,您的查询将无法提供预期的结果,因为
UCASE(右(出发时间,2))
将返回秒数,对于飞行时间,最有可能始终为“00”。
SELECT UCASE(RIGHT(DepartureTime,2)) AS [Time of Departure], COUNT(*) AS [PassengerCount]
FROM Flight
WHERE FlightNumber IN


  (SELECT FlightNumber
   FROM Manifest
   WHERE FlightDate BETWEEN #07/01/2016# AND #12/31/2016# AND PassengerNumber IN


      (SELECT PassengerNumber
       FROM Passenger
       WHERE FFNumber IN

        (SELECT FFNumber
         FROM FrequentFlyer
         WHERE PremierStatus = 3)))

GROUP BY DepartureTime;