Sobes.tech
Senior
57

Σχεδιάστε τις σχέσεις (πίνακες μηνυμάτων και πρακτόρων) και γράψτε ένα ερώτημα SQL που επιστρέφει τους 5 κορυφαίους πράκτορες, των οποίων οι απαντήσεις αρέσουν περισσότερο στους χρήστες. Το πεδίο αντίδρασης δέχεται τις τιμές -1, 0, 1.

Εταιρείες όπου ρωτήθηκαν
Сбербанк

Απάντηση από AI

sobes.tech AI

Для хранения сообщений и агентов можно спроектировать две таблицы:

agents

  • agent_id (PK)
  • name

messages

  • message_id (PK)
  • agent_id (FK)
  • content
  • reaction (INT, принимает значения -1, 0, 1)

SQL-запрос для получения топ-5 агентов с наибольшим средним значением реакции (то есть чьи ответы больше нравятся пользователям):

SELECT a.agent_id, a.name, AVG(m.reaction) AS avg_reaction
FROM agents a
JOIN messages m ON a.agent_id = m.agent_id
GROUP BY a.agent_id, a.name
ORDER BY avg_reaction DESC
LIMIT 5;

Этот запрос вычисляет среднее значение реакции по сообщениям каждого агента и сортирует их по убыванию, возвращая топ-5.