2016-11-17 21 views
0

假設我有一個表格(TreatmentsPerformed),其中包含由從業者執行的所有治療,其中執行的約會的預約ID和特定治療的成本。在這裏看到這裏的例子:MySQL - 如何將此表減少爲總成本之一?

TreatmentsPerformed 
appointmentID treatment treatmentCost 
3    tmnt1  30 
3    tmnt2  100 
3    tmnt3  200 
4    tmnt2  100 
5    tmnt1  30 
5    tmnt3  200 
6    tmnt2  100 
6    tmnt3  200 

是否有可能選擇對每一個查詢的約會總成本的結果集?我將如何去做這件事? 用於上述例子中的所期望的結果是這樣的:

AppointmentCost 

appointmentID totalCost 
3    330 
4    100 
5    230 
6    300 

回答

1

喜歡這張

SELECT appointmentId, SUM(treatmentCost) as totalCost FROM table GROUP BY appointmentID;

0

可以使用Group ByOrder By子句實現這一目標。

Group By:

SQL - Group By。 ... SQL GROUP BY子句用於合作 與SELECT語句將相同的數據排列到組中。 GROUP BY子句遵循SELECT聲明中的WHERE子句和ORDER BY子句之前的 。

Order By:

SQL ORDER BY子句用於升序或 降序排列數據,基於一個或多個列進行排序。某些數據庫默認排序 查詢結果按升序排列。

所以你的查詢將是這樣的:

SELECT 
    appointmentId, SUM(treatmentCost) AS totalCost 
FROM 
    table_name 
GROUP BY 
    appointmentID 
ORDER BY 
    appointmentID;