代码之家  ›  专栏  ›  技术社区  ›  Lizzie

如何使用平均值进行分组?

  •  0
  • Lizzie  · 技术社区  · 7 年前

    表S:

    BusNAME     BusNUM 
    -------   ---------
      Bob        A1    
      Lee        A2      
      Ashley     A3  
    

    BusNUM     QTY 
    -------   ---------
    A1         300    
    A1         400     
    A1         100 
    A2         100
    A2         100
    A2         200
    A3         400
    A3         300
    

    这就是我正在尝试的:

    SELECT s.BusName
    FROM S s
    JOIN SP p ON p.BusNum = s.BusNum
    GROUP By s.BusName
    HAVING AVG(p.QTY) <= 300;
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   alejandrogiron    7 年前

    选择 BusNUM Qty SP 进入一个临时表,然后做一个正常的连接!您可以执行以下操作:

    SELECT S.BusName
    FROM S, (SELECT BusNUM, AVG(QTY) AS Average
             FROM SP
             GROUP BY BusNUM) Temporal
    WHERE S.BusNUM = Temporal.BusNUM
    AND Temporal.Average <= 300;