设计查询,查询显示相同出生年月的学生的年龄、性别计数、总数的sql代码
时间: 2024-03-16 22:41:11 浏览: 74
以下是查询相同出生年月的学生的年龄、性别计数、总数的SQL代码:
```
SELECT
YEAR(CURDATE()) - YEAR(birth_date) - (RIGHT(CURDATE(), 5) < RIGHT(birth_date, 5)) AS age,
gender,
COUNT(*) AS count,
(SELECT COUNT(*) FROM students WHERE birth_date = s.birth_date) AS total
FROM students s
GROUP BY birth_date, gender;
```
这个查询会计算每个出生日期和性别组合的学生的年龄、性别计数和总数。其中,年龄是通过计算当前年份与出生日期年份之差来得到的,并且会考虑到当前日期是否已经过了生日。
相关问题
mysql查询学生出生日期相同的年龄之和
你可以使用以下SQL语句来查询学生出生日期相同的年龄之和:
```
SELECT DATE_FORMAT(birthday, '%m%d') AS birth_month_day, SUM(YEAR(CURDATE())-YEAR(birthday)) AS age_sum
FROM student
GROUP BY birth_month_day
HAVING COUNT(*) > 1;
```
这里做了以下几个操作:
1. 使用DATE_FORMAT函数将学生的出生日期转化为月日的格式。
2. 使用YEAR函数计算学生的年龄。
3. 使用SUM函数计算年龄之和。
4. 使用GROUP BY子句按照出生日期的月日进行分组。
5. 使用HAVING子句过滤出出生日期相同的学生。
6. 最终查询结果为出生日期相同的学生的年龄之和。
sql 查询本月生日的学生信息: 学号,姓名,出生日期,年龄
可以使用以下 SQL 语句查询本月生日的学生信息:
SELECT 学号, 姓名, 出生日期, TIMESTAMPDIFF(YEAR, 出生日期, CURDATE()) AS 年龄
FROM 学生表
WHERE MONTH(出生日期) = MONTH(CURDATE())
ORDER BY DAY(出生日期);
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)