By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
| id | day_1 | day_2 | day_3 | day_4 | day_5 | day_6 | day_7 | day_8 | day_9 | day_10 | day_11 | day_12 | day_13 | day_14 | day_15 | day_16 | day_17 | day_18 | day_19 | day_20 | day_others |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 123456 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 66.98 | 66.98 | 66.98 | 720.92 | 64.98 | 64.98 | 64.98 | 64.98 | 2140.56 |
| 223456 | 54.98 | 64.98 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| Variable_name | Value |
|---|---|
| group_concat_max_len | 1024 |
| seq |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| @columns |
|---|
| SUM(CASE WHEN rn =1 THEN vals ELSE 0 END) AS "day_1", SUM(CASE WHEN rn =2 THEN vals ELSE 0 END) AS "day_2", SUM(CASE WHEN rn =3 THEN vals ELSE 0 END) AS "day_3", SUM(CASE WHEN rn =4 THEN vals ELSE 0 END) AS "day_4", SUM(CASE WHEN rn =5 THEN vals ELSE 0 END) AS "day_5", SUM(CASE WHEN rn =6 THEN vals ELSE 0 END) AS "day_6", SUM(CASE WHEN rn =7 THEN vals ELSE 0 END) AS "day_7", SUM(CASE WHEN rn =8 THEN vals ELSE 0 END) AS "day_8", SUM(CASE WHEN rn =9 THEN vals ELSE 0 END) AS "day_9", SUM(CASE WHEN rn =10 THEN vals ELSE 0 END) AS "day_10", SUM(CASE WHEN rn =11 THEN vals ELSE 0 END) AS "day_11", SUM(CASE WHEN rn =12 THEN vals ELSE 0 END) AS "day_12", SUM(CASE WHEN rn =13 THEN vals ELSE 0 END) AS "day_13", SUM(CASE WHEN rn =14 THEN vals ELSE 0 END) AS "day_14", SUM(CASE WHEN rn =15 THEN vals ELSE 0 END) AS "day_15", SUM(CASE WHEN rn =16 THEN vals ELSE 0 END) AS "day_16", SUM(CASE WHEN rn =17 THEN vals ELSE 0 END) AS "day_17", SUM(CASE WHEN rn =18 THEN vals ELSE 0 END) AS "day_18", SUM(CASE WHEN rn =19 THEN vals ELSE 0 END) AS "day_19", SUM(CASE WHEN rn =20 THEN vals ELSE 0 END) AS "day_20", SUM(CASE WHEN rn >20 THEN vals ELSE 0 END) AS "day_others" |
| @sql |
|---|
| SELECT id,SUM(CASE WHEN rn =1 THEN vals ELSE 0 END) AS "day_1", SUM(CASE WHEN rn =2 THEN vals ELSE 0 END) AS "day_2", SUM(CASE WHEN rn =3 THEN vals ELSE 0 END) AS "day_3", SUM(CASE WHEN rn =4 THEN vals ELSE 0 END) AS "day_4", SUM(CASE WHEN rn =5 THEN vals ELSE 0 END) AS "day_5", SUM(CASE WHEN rn =6 THEN vals ELSE 0 END) AS "day_6", SUM(CASE WHEN rn =7 THEN vals ELSE 0 END) AS "day_7", SUM(CASE WHEN rn =8 THEN vals ELSE 0 END) AS "day_8", SUM(CASE WHEN rn =9 THEN vals ELSE 0 END) AS "day_9", SUM(CASE WHEN rn =10 THEN vals ELSE 0 END) AS "day_10", SUM(CASE WHEN rn =11 THEN vals ELSE 0 END) AS "day_11", SUM(CASE WHEN rn =12 THEN vals ELSE 0 END) AS "day_12", SUM(CASE WHEN rn =13 THEN vals ELSE 0 END) AS "day_13", SUM(CASE WHEN rn =14 THEN vals ELSE 0 END) AS "day_14", SUM(CASE WHEN rn =15 THEN vals ELSE 0 END) AS "day_15", SUM(CASE WHEN rn =16 THEN vals ELSE 0 END) AS "day_16", SUM(CASE WHEN rn =17 THEN vals ELSE 0 END) AS "day_17", SUM(CASE WHEN rn =18 THEN vals ELSE 0 END) AS "day_18", SUM(CASE WHEN rn =19 THEN vals ELSE 0 END) AS "day_19", SUM(CASE WHEN rn =20 THEN vals ELSE 0 END) AS "day_20", SUM(CASE WHEN rn >20 THEN vals ELSE 0 END) AS "day_others" FROM (SELECT SUM(value) AS vals, id, DATE_FORMAT(date,"%Y-%m-%d") AS dt, ROW_NUMBER() OVER (PARTITION BY id ORDER BY date DESC) AS rn FROM test_table GROUP BY id, date) v GROUP BY id; |
| id | day_1 | day_2 | day_3 | day_4 | day_5 | day_6 | day_7 | day_8 | day_9 | day_10 | day_11 | day_12 | day_13 | day_14 | day_15 | day_16 | day_17 | day_18 | day_19 | day_20 | day_others |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 123456 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 64.98 | 66.98 | 66.98 | 66.98 | 720.92 | 64.98 | 64.98 | 64.98 | 64.98 | 2140.56 |
| 223456 | 54.98 | 64.98 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |