[英]SQL - SUM on similar values based on two conditions
我被困在尝试编写此 SQL 并收到此错误消息
ODBC::Error: 37000 (1003) SQL 编译错误:位置 8 处的语法错误第 8 行意外“GROUP”。:选择 CASE WHEN 宽恕 = 0 THEN 6 - SUM(attendance_points) END as total_attendance_p
目标:获取当前日期前 90 天内相同 driver_id 的出勤点总和(如果宽恕 = 0)和出勤点。
driver_id attendance_points forgiven date
8087956 6 0 2020-02-12
8087956 1 0 2020-02-12
1160725 2 0 2020-02-01
1160725 6 0 2020-02-12
7922706 4 1 2020-02-13
Select
CASE WHEN forgiven = 0 THEN 6 - SUM(attendance_points) END as total_attendance_points,
driver_id,
date
FROM attendance_events
WHERE date < DATEADD("day", -90, current_date());
GROUP BY 2
使用条件聚合
Select driver_id,date,
sum(CASE WHEN forgiven = 0 THEN 6 - attendance_points END ) as total_attendance_points
FROM attendance_events
WHERE date < DATEADD("day", -90, current_date())
group BY driver_id,date
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.