Это потому, что вы пытаетесь order by
столбец sales
- но поскольку вы группируете по клиентам, в каждой группе есть несколько sales
, поэтому база данных не может точно сказать, что она должна делать.
Предположительно, вы хотите упорядочить клиентов по их суммарным продажам. Для этого вы можете обратиться к псевдониму, определенному в предложении from
:
select c.cust_id, c.customer_name, round(sum(m.sales)) as total_sales
from market_fact_full m
inner join cust_dimen c using (Cust_id)
group by c.cust_id, c.customer_name
order by total_sales desc;