【发布时间】:2021-05-13 22:12:12
【问题描述】:
我尝试将列(小计)的值汇总到不同列(总计、拒绝、实际)中,这些列根据列的条件(状态)进行区分。
实际表(ode_orders)
| Delivery Date | Subtotal | State |
|---|---|---|
| 1/2/2021 | 150.00 | Delivery Completed |
| 2/2/2021 | 45.00 | Rejected by business |
| 2/2/2021 | 45.00 | Delivery Completed |
| 2/2/2021 | 87.00 | Rejected by business |
| 3/2/2021 | 45.00 | Delivery Completed |
| 3/2/2021 | 70.00 | Delivery Completed |
我希望它成为新表:
| Delivery Date | Total Sales | Rejected | Actual |
|---|---|---|---|
| 1/2/2021 | 150 | 0 | 150 |
| 2/2/2021 | 177 | 132 | 45 |
| 3/2/2021 | 155 | 0 | 155 |
我尝试使用此查询:
SELECT delivery_date,
SUM(subtotal) AS TotalSale,
SUM(subtotal) WHERE state NOT LIKE %Completed% AS TotalSale
FROM ode_orders
GROUP BY delivery_date;
结果
Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE state NOT LIKE %Completed% AS TotalSale
FROM ode_orders
GROUP BY deliver' at line 3
【问题讨论】: