查询所有学生至2019-01-01时的年龄(展示形式: XX years XX mons XX days); 查询所有课程中的最高分、最低分、平均分和及格率,按课程id升序输出。MYSQI代码
时间: 2024-03-01 07:53:16 浏览: 58
查询所有学生至2019-01-01时的年龄(展示形式: XX years XX mons XX days):
```
SELECT CONCAT(
FLOOR(DATEDIFF('2019-01-01', birthday) / 365.25), ' years ',
FLOOR((DATEDIFF('2019-01-01', birthday) % 365.25) / 30.44), ' mons ',
FLOOR((DATEDIFF('2019-01-01', birthday) % 365.25) % 30.44), ' days'
) AS age
FROM students;
```
查询所有课程中的最高分、最低分、平均分和及格率,按课程id升序输出:
```
SELECT
course_id,
MAX(score) AS max_score,
MIN(score) AS min_score,
AVG(score) AS avg_score,
SUM(score >= 60) / COUNT(*) AS pass_rate
FROM scores
GROUP BY course_id
ORDER BY course_id ASC;
```
相关问题
ceph-ansible 从ceph集群中删除monitor节点
要从Ceph集群中删除Monitor节点,可以使用ceph-ansible工具来完成。ceph-ansible是一个基于Ansible的自动化部署工具,用于部署和管理Ceph集群。
以下是从Ceph集群中删除Monitor节点的步骤:
1. 在ceph-ansible的部署主机上,编辑`inventory`文件,将要删除的Monitor节点从`[mons]`组中移除。可以通过注释或删除相关行来实现。
2. 运行ceph-ansible命令,使用`site.yml` playbook来执行删除操作。命令如下:
```
ansible-playbook -i inventory site.yml
```
3. ceph-ansible会自动检测到修改的inventory文件,并执行相应的操作。在删除Monitor节点时,ceph-ansible会自动将Monitor服务停止,并从集群中移除该节点。
4. 等待ceph-ansible完成删除操作。这可能需要一些时间,具体取决于集群的规模和网络状况。
请注意,在执行这些步骤之前,请确保已经备份了重要的数据,并且明确了删除Monitor节点的后果。
我有一个数据库,有五个column:项目名称、1月、2月、3月、4月。我会生成一个prj变量以及一个mons变量。prj是一个字符,mons是一个列表,列表里随机出现1月、2月、3月、4月的排列组合。我想查询项目名称为prj,column为mons列表中的所有数据。给我代码,
假设你的表名为 `budget_table`,可以使用如下代码查询项目名称为 `prj`,月份在 `mons` 列表中的所有数据:
```python
import sqlite3
# 连接到数据库
conn = sqlite3.connect('your_database.db')
# 生成测试数据
prj = 'project1'
mons = ['1月', '2月', '4月']
# 构造 SQL 语句
sql = 'SELECT * FROM budget_table WHERE 项目名称=? AND ({})'.format(' OR '.join(['{}=?'.format(m) for m in mons]))
# 执行 SQL 语句
cursor = conn.cursor()
cursor.execute(sql, [prj] + mons)
results = cursor.fetchall()
# 打印查询结果
for row in results:
print(row)
# 关闭数据库连接
conn.close()
```
其中,`{}` 中的代码会根据 `mons` 中的元素数量动态生成 `OR` 条件,例如当 `mons` 为 `['1月', '2月', '4月']` 时,生成的 SQL 语句为:
```sql
SELECT * FROM budget_table WHERE 项目名称=? AND 1月=? OR 2月=? OR 4月=?
```
然后,使用 `cursor.execute(sql, [prj] + mons)` 执行 SQL 语句,并将查询结果存储在 `results` 中。最后,遍历 `results` 并打印查询结果即可。