SQL: group by 列名 having短语的表达式?
having短语中有没max()函数?或类似的..我需要查询每组中ID最大的信息,写在orderbyIDdesc上不行.只能用having来判断,如何写?...
having短语中有没 max()函数?或类似的..
我需要查询每组中ID最大的信息,写在order by ID desc上不行.
只能用having来判断,如何写? 展开
我需要查询每组中ID最大的信息,写在order by ID desc上不行.
只能用having来判断,如何写? 展开
2个回答
展开全部
HAVING短语是用于在GROUP BY 分组中的筛选,独立使用,就如普通行筛选的WHERE短语一样。
你的例子中,其实不必用到HAVING短语,只需
SELECT 组名,MAX(ID) AS 组最大ID
FROM 表
GROUP BY 组名
另外,举一个用到HAVING的典型例子:
各科平均成绩高于80分(包括80分)的学生和他的平均成绩
SELECT 学生姓名,AVG(成绩) as 平均成绩
FROM 成绩表
GROUP BY 学生姓名
HAVING AVG(成绩)>=80
你的例子中,其实不必用到HAVING短语,只需
SELECT 组名,MAX(ID) AS 组最大ID
FROM 表
GROUP BY 组名
另外,举一个用到HAVING的典型例子:
各科平均成绩高于80分(包括80分)的学生和他的平均成绩
SELECT 学生姓名,AVG(成绩) as 平均成绩
FROM 成绩表
GROUP BY 学生姓名
HAVING AVG(成绩)>=80
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询