指定要传输的摘要记录

在某些情况下,可能仅希望传输满足特定条件的摘要记录。通过使用 HAVING,可以选择要传输的摘要记录。WHERE 将应用于组中的某些记录,而 HAVING 将仅应用于摘要记录。

以下示例将传输每个零件的最高价格和最低价格。但是,要传输的摘要记录仅限于最高价格超过 10.00 的摘要记录。
库/文件(成员) SUPPLIERS
GROUP BY PARTNO
SELECT PARTNO, MAX(PRICE), MIN(PRICE)
HAVING MAX(PRICE) > 10.00
下表显示了使用 HAVING 删除不必要的摘要记录的结果
     Field: PARTNO   MAX(PRICE)   MIN(PRICE)
            ------   ----------   ----------
  Record 1:    209        19.50        18.00
         2:    285        21.00        21.00
         3:    207        29.00        29.00

可以为整个文件传输一个摘要记录。为此,请仅在 SELECT 中指定摘要功能,而不在 GROUP BY 中指定任何内容。因此,可以将整个文件识别为一个组,同时可以为该组传输一个摘要记录。

可以同时使用汇总组的概念,以及连接来自多个文件的记录的概念。要获得所需的结果,请执行以下操作:
  1. FROM 中指定文件,并在 JOIN BY 中指定连接条件以连接记录。
  2. WHERE 中指定条件以删除不必要的记录。
  3. GROUP BY 中指定用于对剩余记录进行分组的字段。
  4. SELECT 中指定功能,然后创建摘要记录。
  5. HAVING 中指定条件以删除不必要的记录。
  6. ORDER BY 中指定用于对最终摘要记录进行分组的项。