Php 如何在完全工作的查询中仅返回高于平均值的行?

Php 如何在完全工作的查询中仅返回高于平均值的行?,php,mysql,Php,Mysql,我有下面的查询,它返回一个行列表。每行都有自己的souma列。实际返回是26行 我试图实现但不幸无法实现的是,仅显示其souma高于avg(souma)的那26行(不是整个表) 要做到这一点,我必须做出哪些改变 SELECT * FROM (SELECT a.*, page, Count(*) AS total FROM (SELECT *, Sum(perc

我有下面的查询,它返回一个行列表。每行都有自己的
souma
列。实际返回是26行

我试图实现但不幸无法实现的是,仅显示其
souma
高于
avg(souma)
的那26行(不是整个表)

要做到这一点,我必须做出哪些改变

SELECT * 
FROM   (SELECT a.*, 
               page, 
               Count(*) AS total 
        FROM   (SELECT *,
                       Sum(percentile_visits_frequency 
                           + percentile_time_spent + percentile_visits 
                           + percentile_last_visit 
                           + Datediff(last_visit, first_visit)) AS souma, 
                       Datediff(last_visit, first_visit)        AS 
                       diafora_imeron 
                FROM   new_table 
                WHERE  company_id = 1 
                       AND Datediff(last_visit, first_visit) > 0 
                GROUP  BY hash 
                ORDER  BY souma DESC, 
                          diafora_imeron DESC) a 
               JOIN behaviour 
                 ON ( behaviour.hash = a.hash ) 
        GROUP  BY page, 
                  hash 
        ORDER  BY total DESC) dd 
GROUP  BY hash 
ORDER  BY souma DESC

然后需要一个子查询

 SELECT AVG(souma)
 FROM (SELECT souma
       FROM <yourquery>) as T  --this query is the one returning 26 rows
选择平均值(souma)
从(选择souma)
FROM)as T——这个查询返回26行

如果没有样本数据、当前结果和预期输出,我们不知道要更改什么。请阅读,这里是学习如何提高问题质量和获得更好答案的好地方。您好,您的答案只返回一行,这是平均值。本例中的平均值是26行的正确平均值。但是,我想输出高于这个平均值的行。我以前看到你问了一个非常类似的问题。正如我所说的,如果不提供样本数据,当前输出和预期输出将变成一个猜测游戏。例如,检查这个问题