如果列是avg、Sql,如何按desc或asc对行进行排序

如果列是avg、Sql,如何按desc或asc对行进行排序,sql,Sql,这是我的密码: SELECT make, AVG(x) FROM y GROUP BY make ORDER BY AVG(x) DESC <===== this is the part I'm stuck on HAVING COUNT(x) > 0 LIMIT 10 选择make,平均值(x) 从y 按品牌分组 ORDER BY AVG(x)DESCSQL中子句的顺序很重要。在您的情况下,正确的顺序是: SELECT make, avg(x) FROM y GRO

这是我的密码:

SELECT make, AVG(x)
FROM y  
GROUP BY make
ORDER BY AVG(x) DESC   <===== this is the part I'm stuck on
HAVING COUNT(x) > 0 
LIMIT 10
选择make,平均值(x)
从y
按品牌分组

ORDER BY AVG(x)DESCSQL中子句的顺序很重要。在您的情况下,正确的顺序是:

SELECT make, avg(x)
FROM y  
GROUP BY make
HAVING count(x) > 0 
ORDER BY avg(x) DESC
LIMIT 10;
HAVING
groupby
之后<代码>订购依据
在拥有之后

请注意,您还可以使用列别名编写排序依据:

SELECT make, avg(x) as average
FROM y  
GROUP BY make
HAVING count(x) > 0 
ORDER BY average DESC
LIMIT 10;

您能提供一些示例数据和预期结果吗?在have子句之后按顺序排序。是的,
have
先执行,
order by
后执行。“它不起作用”很少是一个好的问题描述。如果你得到了意想不到的结果,解释一下你期望的结果。如果您收到错误消息,请告诉我们是什么错误。