Мне нужен запрос, который отображает только стоимость контракта выше среднего вместе с идентификатором контракта, и я создаю свое среднее значение с помощью этого:
SELECT AVG(average_cost)
FROM (
SELECT SUM(contracts.hours*staff.rate) AS average_cost
FROM contracts
INNER JOIN staff ON contracts.staff_id = staff.staff_id
GROUP BY contracts.contract_id
) AS inner;
Я бы хотел, чтобы результаты отображали contract_id, а также группуэтим, даже если это все, что это показывает, является contract_id для результатов выше среднего.Просто трудно получить запрос, чтобы показать результаты выше среднего с этим средним, что сложнее, чем я привык.Спасибо за помощь, спасибо.
edit * с некоторыми примерами данных, таблицы более сложны, чем эта, но я надеюсь, что это поможет с некоторым пониманием
contracts
contract_id hours staff_id
55 30 10
45 25 11
43 30 12
41 12 11
67 20 12
49 20 13
staff
staff_id rate
10 50
11 45
12 80
13 45
Так что средняя стоимость контракта выше1344,167 или около того.Для этого примера я бы хотел, чтобы в результатах отображался contract_id для контрактов, стоимость которых выше средней.
results
contract_id
55
43
67