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行的正确平均值。但是,我想输出高于这个平均值的行。我以前看到你问了一个非常类似的问题。正如我所说的,如果不提供样本数据,当前输出和预期输出将变成一个猜测游戏。例如,检查这个问题