1、查询入学年龄在18-20的女生或者未输入性别的,实际年龄小的要排在后面
时间: 2024-03-16 18:45:17 浏览: 29
好的,以下是该查询的SQL语句:
```
SELECT s_id, s_name, s_gender, s_birthday, s_age, s_money, s_c_id
FROM student
WHERE (s_gender = '女' OR s_gender IS NULL) AND s_age BETWEEN 18 AND 20
ORDER BY s_age DESC;
```
解释一下:
首先我们从 `student` 表中选择学生的基本信息,包括学号、姓名、性别、出生日期、入学年龄、缴费和班级编号。然后我们使用 `WHERE` 子句来筛选符合条件的学生,条件是:性别为女或未输入性别,且入学年龄在18到20岁之间。最后,我们使用 `ORDER BY` 子句将结果按实际年龄的降序排列,实际年龄小的要排在后面。
相关问题
MySQL根据入学日期和年龄查询出生年份
假设有一个名为students的表,其中包含以下字段:name, age, enrollment_date(入学日期)。你可以使用MySQL的DATE_FORMAT函数和YEAR函数来查询学生的出生年份。
例如,以下查询语句可以查询年龄大于等于20岁,并且入学日期在2018年之后的学生的出生年份:
```
SELECT name, age, enrollment_date, YEAR(NOW()) - age AS birth_year
FROM students
WHERE age >= 20 AND YEAR(enrollment_date) >= 2018;
```
解释一下上面的查询语句:
- YEAR(NOW())获取当前年份。
- YEAR(enrollment_date)获取入学日期的年份。
- NOW() - age计算出生年份。
- WHERE子句指定了筛选条件,只有符合条件的学生才会被查询出来。
希望能对你有所帮助!
接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。
好的,我可以帮你实现这个功能。以下是示例代码:
```python
# 导入 datetime 模块
import datetime
# 从键盘读取字符串类型的年龄、分数和入学时间
age_str = input("请输入年龄:")
score_str = input("请输入分数:")
enrollment_date_str = input("请输入入学时间(格式为 yyyy-mm-dd):")
# 将字符串类型转换为整数、浮点数和日期类型
age = int(age_str)
score = float(score_str)
enrollment_date = datetime.datetime.strptime(enrollment_date_str, '%Y-%m-%d').date()
# 在控制台输出转换后的值
print("年龄:", age)
print("分数:", score)
print("入学时间:", enrollment_date)
```
你可以将以上代码复制到 Python 环境中运行,然后在控制台中输入年龄、分数和入学时间,程序会将它们转换为整数、浮点数和日期类型,并输出到控制台中。