2013-12-09 28 views
2

我試圖從「用戶」表中選擇「發貨」表中他們的'order_id'屬性出現次數最多的用戶。這是我已經試過:錯誤:模式「x」不存在

SELECT users.first_name, users.email, shipments.count(order_id) 
    FROM users, shipments 
    WHERE shipments.order_id = users.current_order_id 
    GROUP by shipments.order_id 
    ORDER by shipments.count(order_id) DESC 
    LIMIT 25 

但我發現了一個錯誤:

ERROR: schema "shipments" does not exist 

任何想法?

回答

1

您正在以錯誤的方式執行COUNT。 tableName和列名在COUNT()內部。或者你可以在這種情況下做COUNT(*):

SELECT users.first_name, users.email, count(shipments.order_id) 
FROM users, shipments 
WHERE shipments.order_id = users.current_order_id 
GROUP by users.first_name, users.email 
ORDER by count(shipments.order_id) DESC 
LIMIT 25 

此外,你應該做GROUP BY您選擇不屬於聚合函數的列。

+0

同樣的錯誤我很害怕! – chendriksen

+0

立即嘗試。它也是錯誤的順序也是 –

+0

現在出現了不同的錯誤:「ERROR:column」users.first_name「必須出現在GROUP BY子句中或用於聚合函數中 LINE 1:EXPLAIN SELECT users.first_name,users.email, count(出貨...「 – chendriksen