2012-12-11 47 views
1

我有這個簡單的SQL查詢,我試圖運行一個uni項目。我在標題中看到錯誤,但是我運行了一個非常類似的查詢,沒有任何問題。從關鍵字找不到預期的地方 - ORA-00923

select booking.customer_id, booking_start_date 
    SUM(total_cost) sales 
from booking 
order by 2 desc 

在此先感謝。

回答

5

您錯過了booking_start_date後的,

嘗試 -

select booking.customer_id, 
     booking_start_date, 
     SUM(total_cost) sales 
from booking 
GROUP BY booking.customer_id, booking_start_date 
order by 2 desc 
+0

我以前曾嘗試過。它返回ORA-00937:不是單組功能。 – Ciaran

+0

是的,這是正確的。你需要添加一個GROUP BY。嘗試GROUP BY booking.customer_id,booking_start_date – JHS

+0

感謝它的工作。 – Ciaran

0

嘗試以下..

select 
    booking.customer_id 
    , booking.start_date 
    , SUM(booking.total_cost) sales 
from 
    booking 
group by 
    booking.customer_id 
    , booking.start_date 
order by 
    2 desc 
+0

我假設列booking_start_date打算預訂.start_date – barrypicker

0

這是你更新的查詢。當您使用像COUNT,SUM,MIN,MAX等聚合函數時,您還應該使用GROUP BY。

select booking.customer_id, booking_start_date 
    SUM(total_cost) sales 
from booking group by booking.customer_id, booking_start_date 
order by 2 desc 
+0

在發佈代碼時,請突出顯示它,然後單擊'{}'按鈕或按ctrl + k。這縮進了4個空格。您的查詢仍然不正確。 'booking_start_date'後面缺少逗號。 – Ben

相關問題