假设我有一个表(TreatmentsPerformed),其中包含从业者执行的所有治疗,以及执行这些治疗的预约的appointmentID和特定治疗的费用。请看这里的示例:
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
发布于 2016-11-17 10:14:46
像这样
SELECT appointmentId, SUM(treatmentCost) as totalCost FROM table GROUP BY appointmentID;
发布于 2016-11-17 13:07:17
您可以使用Group By
和Order 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;
https://stackoverflow.com/questions/40645604
复制相似问题