By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Variable_name | Value |
---|---|
group_concat_max_len | 1024 |
@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 t1.*, CASE WHEN id=@idx THEN @rnk := @rnk+1 ELSE @rnk := 1 END AS rn, @idx := id FROM (SELECT id, SUM(value) AS vals, DATE_FORMAT(date,"%Y-%m-%d") AS dt FROM test_table GROUP BY id, dt)t1 CROSS JOIN (SELECT @rnk := 0, @idx := NULL) r ORDER BY id, dt DESC) 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 |
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 |
id | vals | dt | rn | @idx := id |
---|---|---|---|---|
123456 | 64.98 | 2021-02-20 | 1 | 123456 |
123456 | 64.98 | 2021-02-19 | 2 | 123456 |
123456 | 64.98 | 2021-02-18 | 3 | 123456 |
123456 | 64.98 | 2021-02-17 | 4 | 123456 |
123456 | 64.98 | 2021-02-16 | 5 | 123456 |
123456 | 64.98 | 2021-02-15 | 6 | 123456 |
123456 | 64.98 | 2021-02-14 | 7 | 123456 |
123456 | 64.98 | 2021-02-13 | 8 | 123456 |
123456 | 64.98 | 2021-02-12 | 9 | 123456 |
123456 | 64.98 | 2021-02-11 | 10 | 123456 |
123456 | 64.98 | 2021-02-10 | 11 | 123456 |
123456 | 64.98 | 2021-02-09 | 12 | 123456 |
123456 | 66.98 | 2021-02-08 | 13 | 123456 |
123456 | 66.98 | 2021-02-07 | 14 | 123456 |
123456 | 66.98 | 2021-02-06 | 15 | 123456 |
123456 | 720.92 | 2021-02-05 | 16 | 123456 |
123456 | 64.98 | 2021-02-04 | 17 | 123456 |
123456 | 64.98 | 2021-02-03 | 18 | 123456 |
123456 | 64.98 | 2021-02-02 | 19 | 123456 |
123456 | 64.98 | 2021-02-01 | 20 | 123456 |
123456 | 64.98 | 2021-01-31 | 21 | 123456 |
123456 | 64.98 | 2021-01-30 | 22 | 123456 |
123456 | 64.98 | 2021-01-29 | 23 | 123456 |
123456 | 64.98 | 2021-01-28 | 24 | 123456 |
123456 | 64.98 | 2021-01-27 | 25 | 123456 |
123456 | 64.98 | 2021-01-26 | 26 | 123456 |
123456 | 144.98 | 2021-01-25 | 27 | 123456 |
123456 | 64.98 | 2021-01-24 | 28 | 123456 |
123456 | 64.98 | 2021-01-23 | 29 | 123456 |
123456 | 64.98 | 2021-01-22 | 30 | 123456 |
123456 | 64.98 | 2021-01-21 | 31 | 123456 |
123456 | 64.98 | 2021-01-20 | 32 | 123456 |
123456 | 64.98 | 2021-01-19 | 33 | 123456 |
123456 | 64.98 | 2021-01-18 | 34 | 123456 |
123456 | 64.98 | 2021-01-17 | 35 | 123456 |
123456 | 64.98 | 2021-01-16 | 36 | 123456 |
123456 | 64.98 | 2021-01-15 | 37 | 123456 |
123456 | 64.98 | 2021-01-14 | 38 | 123456 |
123456 | 64.98 | 2021-01-13 | 39 | 123456 |
123456 | 64.98 | 2021-01-12 | 40 | 123456 |
123456 | 64.98 | 2021-01-11 | 41 | 123456 |
123456 | 103.80 | 2021-01-10 | 42 | 123456 |
123456 | 64.98 | 2021-01-09 | 43 | 123456 |
123456 | 64.98 | 2021-01-08 | 44 | 123456 |
123456 | 72.34 | 2021-01-07 | 45 | 123456 |
123456 | 64.98 | 2021-01-06 | 46 | 123456 |
123456 | 64.98 | 2021-01-05 | 47 | 123456 |
123456 | 64.98 | 2021-01-04 | 48 | 123456 |
123456 | 64.98 | 2021-01-03 | 49 | 123456 |
123456 | 64.98 | 2021-01-02 | 50 | 123456 |
123456 | 64.98 | 2021-01-01 | 51 | 123456 |
223456 | 54.98 | 2021-01-21 | 1 | 223456 |
223456 | 64.98 | 2021-01-20 | 2 | 223456 |
id | vals | dt | rn | @idx := id |
---|---|---|---|---|
123456 | 64.98 | 2021-02-20 | 51 | 123456 |
123456 | 64.98 | 2021-02-19 | 50 | 123456 |
123456 | 64.98 | 2021-02-18 | 49 | 123456 |
123456 | 64.98 | 2021-02-17 | 48 | 123456 |
123456 | 64.98 | 2021-02-16 | 47 | 123456 |
123456 | 64.98 | 2021-02-15 | 46 | 123456 |
123456 | 64.98 | 2021-02-14 | 45 | 123456 |
123456 | 64.98 | 2021-02-13 | 44 | 123456 |
123456 | 64.98 | 2021-02-12 | 43 | 123456 |
123456 | 64.98 | 2021-02-11 | 42 | 123456 |
123456 | 64.98 | 2021-02-10 | 41 | 123456 |
123456 | 64.98 | 2021-02-09 | 40 | 123456 |
123456 | 66.98 | 2021-02-08 | 39 | 123456 |
123456 | 66.98 | 2021-02-07 | 38 | 123456 |
123456 | 66.98 | 2021-02-06 | 37 | 123456 |
123456 | 720.92 | 2021-02-05 | 36 | 123456 |
123456 | 64.98 | 2021-02-04 | 35 | 123456 |
123456 | 64.98 | 2021-02-03 | 34 | 123456 |
123456 | 64.98 | 2021-02-02 | 33 | 123456 |
123456 | 64.98 | 2021-02-01 | 32 | 123456 |
123456 | 64.98 | 2021-01-31 | 31 | 123456 |
123456 | 64.98 | 2021-01-30 | 30 | 123456 |
123456 | 64.98 | 2021-01-29 | 29 | 123456 |
123456 | 64.98 | 2021-01-28 | 28 | 123456 |
123456 | 64.98 | 2021-01-27 | 27 | 123456 |
123456 | 64.98 | 2021-01-26 | 26 | 123456 |
123456 | 144.98 | 2021-01-25 | 25 | 123456 |
123456 | 64.98 | 2021-01-24 | 24 | 123456 |
123456 | 64.98 | 2021-01-23 | 23 | 123456 |
123456 | 64.98 | 2021-01-22 | 22 | 123456 |
123456 | 64.98 | 2021-01-21 | 21 | 123456 |
123456 | 64.98 | 2021-01-20 | 20 | 123456 |
123456 | 64.98 | 2021-01-19 | 19 | 123456 |
123456 | 64.98 | 2021-01-18 | 18 | 123456 |
123456 | 64.98 | 2021-01-17 | 17 | 123456 |
123456 | 64.98 | 2021-01-16 | 16 | 123456 |
123456 | 64.98 | 2021-01-15 | 15 | 123456 |
123456 | 64.98 | 2021-01-14 | 14 | 123456 |
123456 | 64.98 | 2021-01-13 | 13 | 123456 |
123456 | 64.98 | 2021-01-12 | 12 | 123456 |
123456 | 64.98 | 2021-01-11 | 11 | 123456 |
123456 | 103.80 | 2021-01-10 | 10 | 123456 |
123456 | 64.98 | 2021-01-09 | 9 | 123456 |
123456 | 64.98 | 2021-01-08 | 8 | 123456 |
123456 | 72.34 | 2021-01-07 | 7 | 123456 |
123456 | 64.98 | 2021-01-06 | 6 | 123456 |
123456 | 64.98 | 2021-01-05 | 5 | 123456 |
123456 | 64.98 | 2021-01-04 | 4 | 123456 |
123456 | 64.98 | 2021-01-03 | 3 | 123456 |
123456 | 64.98 | 2021-01-02 | 2 | 123456 |
123456 | 64.98 | 2021-01-01 | 1 | 123456 |
223456 | 54.98 | 2021-01-21 | 2 | 223456 |
223456 | 64.98 | 2021-01-20 | 1 | 223456 |