描述 SUM 聚合函数和 GROUP BY 与 HAVING 使用的 SQL 查询
问题:编写 DB2 SQL 查询,分别给出 7 月 29 日和 7 月 30 日订单的 ORDER_TOTAL 总和。结果应显示在一个表中。
解决方案
我们可以使用聚合函数 SUM、GROUP BY 和 HAVING 分别查找 7 月 29 日和 30 日订单的 ORDER_TOTAL 总和。
例如,如果我们有一个如下所示的 ORDER 表。
ORDER_ID | ORDER_TOTAL | ORDER_DATE |
Z22345 | 342 | 29-07-2020 |
Z62998 | 543 | 30-07-2020 |
Z56990 | 431 | 12-07-2020 |
Z56902 | 6743 | 29-07-2020 |
Z99781 | 443 | 10-07-2020 |
Z56112 | 889 | 30-07-2020 |
以下查询将给出所需的结果。
示例
SELECT ORDER_DATE, SUM(ORDER_TOTAL) FROM ORDERS GROUP BY ORDER_DATE HAVING ORDER_DATE IN (‘29-07-2020’, ‘30-07-2020’)
在此查询中,我们选择了 ORDER_DATE 和 ORDER_TOTAL,并使用了聚合函数 SUM。
GROUP BY 将确保按日期计算 ORDER_TOTAL 的总和,HAVING 子句将确保仅显示 7 月 29 日和 30 日的结果。该查询将给出以下结果。
ORDER_DATE | ORDER_TOTAL |
29-07-2020 | 7085 |
30-07-2020 | 1432 |
广告