Добавил:
t.me Установите расширение 'SyncShare' для решения тестов в LMS (Moodle): https://syncshare.naloaty.me/ . На всякий лучше отключить блокировщик рекламы с ним. || Как пользоваться ChatGPT в России: https://habr.com/ru/articles/704600/ || Также можно с VPNом заходить в bing.com через Edge браузер и общаться с Microsoft Bing Chat, но в последнее время они форсят Copilot и он мне меньше нравится. || Студент-заочник ГУАП, группа Z9411. Ещё учусь на 5-ом курсе 'Прикладной информатики' (09.03.03). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
24.10.2023
Размер:
1.05 Кб
Скачать
import psycopg2
import pandas as pd
import matplotlib.pyplot as plt

# Connect to the database
conn = psycopg2.connect(database="students", user="postgres", password="123", host="127.0.0.1", port="5432")
cursor = conn.cursor()

# Run the SQL query
query = "SELECT e.department_id, MIN(e.salary) as min_salary, m.last_name as manager_last_name " \
"FROM employees e " \
"JOIN employees m ON e.manager_id = m.employee_id " \
"GROUP BY e.department_id, m.last_name "
cursor.execute(query)

# Fetch the result and store it in a Pandas dataframe
result = cursor.fetchall()
df = pd.DataFrame(result, columns=["department_id", "min_salary", "manager_last_name"])

# Plot the data
plt.bar(df["manager_last_name"], df["min_salary"])
plt.xlabel("Фамилия менеджера")
plt.ylabel("Минимальная заработная плата")
plt.title("Минимальная зарплата по менеджерам")
plt.show()

# Close the cursor and connection
cursor.close()
conn.close()
Соседние файлы в папке Python