@Night_Harpy

Как решить задачу sql?

Ни когда не работал с чистым sql, поэтому не знаю как решить. Есть две таблицы в бд:
5f12bf96a6209001926255.png
нужно вывести 3 сотрудника (вместе с именами) у которых в сумме больше всего часов.
Заранее спасибо.
  • Вопрос задан
  • 284 просмотра
Пригласить эксперта
Ответы на вопрос 3
trapwalker
@trapwalker
Программист, энтузиаст
SELECT
  e.name, SUM(t.hours)
FROM 
  employees e
    JOIN time_reports t ON t.employee_id = e.id
GROUP BY e.id, e.name
ORDER BY 2 DESC
LIMIT 3
Ответ написан
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
селект имя, сум(часы) часы
фром имена и
лефт джоин тайм т
он и.ид = т.емплои_ид
груп бай т.емплои_ид
ордер бай часы деск лимит 3

как то так...
Ответ написан
@Nc_Soft
SELECT employees.name, SUM(time_reports.hours) as hours
FROM time_reports 
LEFT JOIN employees ON time_reports.employee_id = employees.id
GROUP BY time_reports.employee_id
ORDER BY hours DESC
LIMIT 3
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы