2017-07-25 62 views
-1

我卡在這個問題: 大家好(不知道爲什麼它沒有在第一行出現......)工作算術運算SQL SELECT

我有2個表:

-factures (invoices) 
-commandes_clients (orders) 

每個表格包含獨特的id_client

我試圖讓和排序依據發票金額每個客戶的平均訂單金額(總金額的發票相同的客戶端的訂單,每個客戶端/數字)

Client 1 Average order amount 1254.21 
Client 2 Average order amount 951.88 
Client 3 Average order amount 891.11 
... 

我想通過平均量進行排序,以獲得客戶帕爾馬里斯

Table facture contains : 
id_client, invoice_number, total amount 
Table commandes_clients contains : 
id_client 

感謝您的幫助

+0

嗨,歡迎來到SO。請參閱https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query – Strawberry

回答

1
SELECT id_client,sum(total_amount)/count(invoice_number) as avg 
FROM factures group by id_client order by avg; 

或者:

SELECT id_client,sum(total_amount)/count(CC.id) as avg 
    FROM factures FA 
    INNER JOIN commandes_clients CC ON FA.id_client=CC.id_client 
    group by FA.id_client order by avg; 

嘗試上面的查詢。

+0

嗨,謝謝,sum(invoice_number)不是客戶的發票總數,而是遞增的數字。操作應該像:sum(total_amount)/ count(commandes_clients)。我們需要獲取每個客戶端完成的訂單數量 – jpsFR

+0

@jpsFR對相同的內容進行了更改。它會解決你的問題? –

+0

我不知道該怎麼做,因爲total_amount來自於事實,並且讓每個客戶端完成的訂單數是另一個表(commandes_ clients)。該操作應該是客戶總髮票/客戶總訂單...然後按最佳平均排序 – jpsFR