Loading...
Spaskich avatar Spaskich 36 Точки

[Data Aggregation] Problem 18 - Salary Challenge

Здравейте, колеги!

Мъча се с последната задача от Data Aggregation упражнението. Ето това ми е кодът:

SELECT e.first_name, e.last_name, e.department_id
FROM employees AS e
WHERE e.salary > (
	SELECT AVG(inside.salary)
	FROM employees AS inside
	WHERE inside.department_id = e.department_id
	GROUP BY inside.department_id
)
ORDER BY e.department_id
LIMIT 10;

Ако някой може да ме насочи къде ми е грешката, ще съм му много благодарен! :)

0
Module: Java DB
Bobosam avatar Bobosam 185 Точки
Best Answer

Това е моята заявка:

select em.first_name, em.last_name, em.department_id
from employees as em
join
(select e.department_id, avg(e.salary) as avg_salary
from employees as e
group by e.department_id) as avg_salaries
on em.department_id = avg_salaries.department_id
where em.salary > avg_salaries.avg_salary
order by em.department_id
limit 10

И твоята и моята заявка в Хейди водят до еднакъв отговор. В джъджа моята минава, а твоята не. Единствено някой от преподавателите с достъп могат да видят какво не му харесва на джъджа и евентуално да се оправи за изпита.

2
kaloyannikov avatar kaloyannikov 531 Точки

Tрябва да ги агрегираш по някакъв начин , вържи същата таблица със себе си и ги вържи по department_id и след това ги групирай.

Аз я направих така -> http://pastebin.com/AhdXz4hv

Вероятно има и друг начин

1
06/10/2016 18:26:10
dgp_82 avatar dgp_82 19 Точки

За SQL Това минава в Judge:

SELECT TOP 10  e.FirstName, e.LastName, e.DepartmentID
FROM Employees AS e
JOIN
(SELECT e.DepartmentID, avg(e.Salary) AS avgs
FROM Employees AS e
GROUP BY e.DepartmentID) AS avgSalaries
on e.DepartmentID = avgSalaries.DepartmentID
where e.Salary > avgSalaries.avgs
order by e.DepartmentID

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.