запрос в среднем по сгруппированному среднему значению в SQLite

#sqlite

Вопрос:

У меня есть подсказка Write a query to extract the item names for items that were above average order total. Return the item names in alphabetical order .

Таблицы выглядят так

 orders
------
PK |OrderID
-----------
FK | item id
   | qty
   | totla
 

и

 items
------
PK | ItemID
-----------
   | name
   | value
 

На первый взгляд ответ будет выглядеть так,

 SELECT name
FROM items
WHERE value > (
    SELECT avg(total) FROM orders
)
ORDER BY 1 ASC;
 

Но потом я понял, что мне нужно взять среднее значение по всем позициям в заказе, а не среднее значение по всем итоговым данным.

Моя лучшая идея на данный момент-это

 SELECT name
FROM items
WHERE value > (
    SELECT avg(grp_tot) FROM (
        SELECT avg(total) AS grp_tot FROM orders GROUPBY orderid
))
ORDER BY 1 ASC;
 

Но, похоже, должно быть лучшее решение, чем это