设计一个统计表tongji(部门编号,人数),统计Employee表中每个部门的人数信息
时间: 2024-03-08 18:49:06 浏览: 22
可以使用以下 SQL 语句来创建 tongji 表并统计 Employee 表中每个部门的人数信息:
```
CREATE TABLE tongji (
dept_id INT,
count INT
);
INSERT INTO tongji (dept_id, count)
SELECT dept_id, COUNT(*) AS count
FROM Employee
GROUP BY dept_id;
```
这个 SQL 语句将创建一个名为 tongji 的表,其中包含两列:dept_id 和 count。然后,它将从 Employee 表中选择每个部门的记录,并使用 COUNT(*) 函数来计算每个部门的人数。最后,使用 GROUP BY 子句来按部门 ID 进行分组,并将结果插入到 tongji 表中。
相关问题
在Employee表上建立触发器tr_rs实现统计表(tongji)数据的实时更新(新增1个雇员进行验证,编号:50,姓名:zds,性别:男,薪水:3500,部门编号:4,其余列留空)
好的,以下是在MySQL数据库上创建触发器tr_rs的SQL语句,可以实现对Employee表的操作并实时更新tongji表:
```sql
CREATE TRIGGER tr_rs
AFTER INSERT ON Employee
FOR EACH ROW
BEGIN
INSERT INTO tongji (deptno, count, avg_sal)
SELECT deptno, COUNT(*), AVG(salary)
FROM Employee
GROUP BY deptno;
END;
```
在这个触发器中,我们指定了在Employee表上进行插入操作时触发,每次插入一行数据时都会执行触发器内部的代码。代码中首先对tongji表进行操作,插入部门编号、员工人数、平均工资等数据,通过SELECT语句从Employee表中查询得到,然后进行分组统计。这样,每次插入新的员工数据时,tongji表中的数据都会被实时更新。
注意,这里我们假设tongji表已经存在,并且已经包含了部门编号、员工人数、平均工资等列。如果tongji表不存在,需要先使用CREATE TABLE语句创建该表。
用Python统计文件Nixon.txt中出现频率最高的20个单词,并将统计结果写入Tongji.txt文件中
可以使用Python的collections模块中的Counter类来统计文件中每个单词的出现次数,然后将结果排序并写入文件中。具体的实现代码如下:
```python
import re
from collections import Counter
# 读取文件内容
with open('Nixon.txt', 'r') as f:
text = f.read()
# 将文本中的单词转换为小写,并去除标点符号
words = re.findall(r'\b\w+\b', text.lower())
# 统计单词出现次数
word_counts = Counter(words)
# 获取出现频率最高的20个单词
top_words = word_counts.most_common(20)
# 将统计结果写入文件
with open('Tongji.txt', 'w') as f:
for word, count in top_words:
f.write(f'{word}: {count}\n')
```
其中,re.findall(r'\b\w+\b', text.lower()) 用于匹配文本中的所有单词,re模块是Python中用于正则表达式操作的模块。Counter类用于统计单词出现次数,并且most_common(20)方法可以获取出现频率最高的20个单词。最后,将统计结果写入文件中。