mysql中年龄大于平均年龄用法
时间: 2024-02-11 19:35:11 浏览: 104
可以使用如下SQL语句来查询年龄大于平均年龄的数据:
```
SELECT * FROM 表名 WHERE 年龄 > (SELECT AVG(年龄) FROM 表名);
```
其中,`表名`为需要查询的表的名称,`年龄`为表中存储年龄的字段名。该语句先使用子查询获取表中所有数据的平均年龄,然后再在主查询中筛选出年龄大于平均年龄的数据。
相关问题
mysql having用法
MySQL中的HAVING用于在GROUP BY语句中筛选分组后的结果。通常与GROUP BY一起使用,HAVING后面跟着一个条件,只有满足条件的分组才会被返回。
语法:
SELECT column1, column2, …
FROM table_name
WHERE condition
GROUP BY column1, column2, …
HAVING condition
ORDER BY column1, column2, …;
示例:
假设我们有一个表格students,包含以下数据:
| id | name | age | gender | grade |
|----|--------|-----|--------|-------|
| 1 | Alice | 18 | F | 90 |
| 2 | Bob | 19 | M | 80 |
| 3 | Charlie| 18 | M | 70 |
| 4 | David | 20 | M | 85 |
| 5 | Emily | 19 | F | 95 |
我们想要按照年龄分组,并且只返回年龄大于等于19岁的学生的平均成绩:
SELECT age, AVG(grade)
FROM students
GROUP BY age
HAVING age >= 19;
结果为:
| age | AVG(grade) |
|-----|------------|
| 19 | 87.5 |
| 20 | 85 |
在这个例子中,我们首先按照年龄分组,然后使用HAVING条件过滤掉年龄小于19岁的学生,最后返回每个分组的平均成绩。
阅读全文