add batch remove batch split batch comment selection show hidden batches hide batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
version()
10.3.31-MariaDB
Example
Use CTE to perform STRING_SPLIT in the CSV column
Date subj1 subj2 subj3 stname
2021-08-16 Subj1- Subj2- Subj3- stname1
2021-08-16 Subj1- Subj3- Subj2- stname1
2021-08-16 Subj1- Subj2- Subj3- stname2
2021-08-17 Subj2- Subj1- Subj3- stname1
2021-08-17 Subj2- Subj1- Subj1- stname2
2021-08-17 Subj1- Subj4- Subj2- stname2
2021-08-18 Subj1- Subj3- Subj2- stname1
2021-08-18 Subj4- Subj2- Subj1- stname2
2021-08-18 Subj3- Subj1- Subj4- stname1
2021-08-19 Subj1- Subj3- Subj2- stname1
2021-08-19 Subj2- Subj1- Subj4- stname1
2021-08-16 Subj1- Subj2- Subj3- stname2
2021-08-16 Subj1- Subj3- Subj2- stname4
2021-08-16 Subj1- Subj2- Subj3- stname3
2021-08-17 Subj2- Subj1- Subj3- stname3
2021-08-17 Subj2- Subj1- Subj1- stname1
2021-08-17 Subj1- Subj4- Subj2- stname3
2021-08-18 Subj1- Subj3- Subj2- stname2
2021-08-18 Subj4- Subj2- Subj1- stname3
2021-08-18 Subj3- Subj1- Subj4- stname4
2021-08-19 Subj1- Subj3- Subj2- stname4
2021-08-19 Subj2- Subj1- Subj4- stname3
2021-08-16 Subj1- Subj2- Subj3- stname3
2021-08-16 Subj1- Subj3- Subj2- stname2
2021-08-16 Subj1- Subj2- Subj3- stname5
2021-08-17 Subj2- Subj1- Subj3- stname5
2021-08-17 Subj2- Subj1- Subj1- stname4
2021-08-17 Subj1- Subj4- Subj2- stname5
2021-08-18 Subj1- Subj3- Subj2- stname3
2021-08-18 Subj4- Subj2- Subj1- stname5
2021-08-18 Subj3- Subj1- Subj4- stname5
2021-08-19 Subj1- Subj3- Subj2- stname2
2021-08-19 Subj2- Subj1- Subj4- stname5
Example
Normalize Subject columns - with STRING_SPLIT
Date subj stname
2021-08-16 Subj1- stname1
2021-08-16 Subj1- stname1
2021-08-16 Subj1- stname2
2021-08-17 Subj2- stname1
2021-08-17 Subj2- stname2
2021-08-17 Subj1- stname2
2021-08-18 Subj1- stname1
2021-08-18 Subj4- stname2
2021-08-18 Subj3- stname1
2021-08-19 Subj1- stname1
2021-08-19 Subj2- stname1
2021-08-16 Subj1- stname2
2021-08-16 Subj1- stname4
2021-08-16 Subj1- stname3
2021-08-17 Subj2- stname3
2021-08-17 Subj2- stname1
2021-08-17 Subj1- stname3
2021-08-18 Subj1- stname2
2021-08-18 Subj4- stname3
2021-08-18 Subj3- stname4
2021-08-19 Subj1- stname4
2021-08-19 Subj2- stname3
2021-08-16 Subj1- stname3
2021-08-16 Subj1- stname2
2021-08-16 Subj1- stname5
2021-08-17 Subj2- stname5
2021-08-17 Subj2- stname4
2021-08-17 Subj1- stname5
2021-08-18 Subj1- stname3
2021-08-18 Subj4- stname5
2021-08-18 Subj3- stname5
2021-08-19 Subj1- stname2
2021-08-19 Subj2- stname5
2021-08-16 Subj2- stname1
2021-08-16 Subj3- stname1
2021-08-16 Subj2- stname2
2021-08-17 Subj1- stname1
2021-08-17 Subj1- stname2
2021-08-17 Subj4- stname2
2021-08-18 Subj3- stname1
2021-08-18 Subj2- stname2
2021-08-18 Subj1- stname1
2021-08-19 Subj3- stname1
2021-08-19 Subj1- stname1
2021-08-16 Subj2- stname2
2021-08-16 Subj3- stname4
2021-08-16 Subj2- stname3
2021-08-17 Subj1- stname3
2021-08-17 Subj1- stname1
2021-08-17 Subj4- stname3
2021-08-18 Subj3- stname2
2021-08-18 Subj2- stname3
2021-08-18 Subj1- stname4
2021-08-19 Subj3- stname4
2021-08-19 Subj1- stname3
2021-08-16 Subj2- stname3
2021-08-16 Subj3- stname2
2021-08-16 Subj2- stname5
2021-08-17 Subj1- stname5
2021-08-17 Subj1- stname4
2021-08-17 Subj4- stname5
2021-08-18 Subj3- stname3
2021-08-18 Subj2- stname5
2021-08-18 Subj1- stname5
2021-08-19 Subj3- stname2
2021-08-19 Subj1- stname5
2021-08-16 Subj3- stname1
2021-08-16 Subj2- stname1
2021-08-16 Subj3- stname2
2021-08-17 Subj3- stname1
2021-08-17 Subj1- stname2
2021-08-17 Subj2- stname2
2021-08-18 Subj2- stname1
2021-08-18 Subj1- stname2
2021-08-18 Subj4- stname1
2021-08-19 Subj2- stname1
2021-08-19 Subj4- stname1
2021-08-16 Subj3- stname2
2021-08-16 Subj2- stname4
2021-08-16 Subj3- stname3
2021-08-17 Subj3- stname3
2021-08-17 Subj1- stname1
2021-08-17 Subj2- stname3
2021-08-18 Subj2- stname2
2021-08-18 Subj1- stname3
2021-08-18 Subj4- stname4
2021-08-19 Subj2- stname4
2021-08-19 Subj4- stname3
2021-08-16 Subj3- stname3
2021-08-16 Subj2- stname2
2021-08-16 Subj3- stname5
2021-08-17 Subj3- stname5
2021-08-17 Subj1- stname4
2021-08-17 Subj2- stname5
2021-08-18 Subj2- stname3
2021-08-18 Subj1- stname5
2021-08-18 Subj4- stname5
2021-08-19 Subj2- stname2
2021-08-19 Subj4- stname5
Example
Group Normalized Set, to verify the expected PIVOT aggregate expression
Showing Attendance for each day
As well as an indication if there is no matching attendence record at all
Date subj stname present
2021-08-16 Subj1- stname1 - yes -
2021-08-16 Subj1- stname1 - yes -
2021-08-16 Subj1- stname2 - yes -
2021-08-16 Subj1- stname2 - yes -
2021-08-16 Subj1- stname2 - yes -
2021-08-16 Subj1- stname3 - yes -
2021-08-16 Subj1- stname3 - yes -
2021-08-16 Subj1- stname4 - yes -
2021-08-16 Subj1- stname5 - yes -
2021-08-16 Subj2- stname1 - yes -
2021-08-16 Subj2- stname1 - yes -
2021-08-16 Subj2- stname2 - yes -
2021-08-16 Subj2- stname2 - yes -
2021-08-16 Subj2- stname2 - yes -
2021-08-16 Subj2- stname3 - yes -
2021-08-16 Subj2- stname3 - yes -
2021-08-16 Subj2- stname4 - yes -
2021-08-16 Subj2- stname5 - yes -
2021-08-16 Subj3- stname1 - yes -
2021-08-16 Subj3- stname1 - yes -
2021-08-16 Subj3- stname2 - yes -
2021-08-16 Subj3- stname2 - yes -
2021-08-16 Subj3- stname2 - yes -
2021-08-16 Subj3- stname3 - yes -
2021-08-16 Subj3- stname3 - yes -
2021-08-16 Subj3- stname4 - yes -
2021-08-16 Subj3- stname5 - yes -
2021-08-17 Subj1- stname1 - no -
2021-08-17 Subj1- stname1 - no -
2021-08-17 Subj1- stname1 - no -
2021-08-17 Subj1- stname2 - yes -
2021-08-17 Subj1- stname2 - yes -
2021-08-17 Subj1- stname2 - yes -
2021-08-17 Subj1- stname3 null
2021-08-17 Subj1- stname3 null
2021-08-17 Subj1- stname4 null
2021-08-17 Subj1- stname4 null
2021-08-17 Subj1- stname5 null
2021-08-17 Subj1- stname5 null
2021-08-17 Subj2- stname1 - no -
2021-08-17 Subj2- stname1 - no -
2021-08-17 Subj2- stname2 - yes -
2021-08-17 Subj2- stname2 - yes -
2021-08-17 Subj2- stname3 null
2021-08-17 Subj2- stname3 null
2021-08-17 Subj2- stname4 null
2021-08-17 Subj2- stname5 null
2021-08-17 Subj2- stname5 null
2021-08-17 Subj3- stname1 - no -
2021-08-17 Subj3- stname3 null
2021-08-17 Subj3- stname5 null
2021-08-17 Subj4- stname2 - yes -
2021-08-17 Subj4- stname3 null
2021-08-17 Subj4- stname5 null
2021-08-18 Subj1- stname1 - yes -
2021-08-18 Subj1- stname1 - yes -
2021-08-18 Subj1- stname2 - yes -
2021-08-18 Subj1- stname2 - yes -
2021-08-18 Subj1- stname3 null
2021-08-18 Subj1- stname3 null
2021-08-18 Subj1- stname4 null
2021-08-18 Subj1- stname5 - yes -
2021-08-18 Subj1- stname5 - yes -
2021-08-18 Subj2- stname1 - yes -
2021-08-18 Subj2- stname2 - yes -
2021-08-18 Subj2- stname2 - yes -
2021-08-18 Subj2- stname3 null
2021-08-18 Subj2- stname3 null
2021-08-18 Subj2- stname5 - yes -
2021-08-18 Subj3- stname1 - yes -
2021-08-18 Subj3- stname1 - yes -
2021-08-18 Subj3- stname2 - yes -
2021-08-18 Subj3- stname3 null
2021-08-18 Subj3- stname4 null
2021-08-18 Subj3- stname5 - yes -
2021-08-18 Subj4- stname1 - yes -
2021-08-18 Subj4- stname2 - yes -
2021-08-18 Subj4- stname3 null
2021-08-18 Subj4- stname4 null
2021-08-18 Subj4- stname5 - yes -
2021-08-18 Subj4- stname5 - yes -
2021-08-19 Subj1- stname1 null
2021-08-19 Subj1- stname1 null
2021-08-19 Subj1- stname2 null
2021-08-19 Subj1- stname3 - yes -
2021-08-19 Subj1- stname4 - yes -
2021-08-19 Subj1- stname5 - no -
2021-08-19 Subj2- stname1 null
2021-08-19 Subj2- stname1 null
2021-08-19 Subj2- stname2 null
2021-08-19 Subj2- stname3 - yes -
2021-08-19 Subj2- stname4 - yes -
2021-08-19 Subj2- stname5 - no -
2021-08-19 Subj3- stname1 null
2021-08-19 Subj3- stname2 null
2021-08-19 Subj3- stname4 - yes -
2021-08-19 Subj4- stname1 null
2021-08-19 Subj4- stname3 - yes -
2021-08-19 Subj4- stname5 - no -
teach-id teach teacher stname1 stname2 stname3 stname4 stname5
1.0 Subj1- Tname1 2021-08-18 2021-08-18 2021-08-19 2021-08-19 2021-08-18
1.2 Subj2- Tname2 2021-08-18 2021-08-18 2021-08-19 2021-08-19 2021-08-18
1.5 Subj3- Tname3 2021-08-18 2021-08-18 2021-08-16 2021-08-19 2021-08-18
2.0 Subj4- Tname4 2021-08-18 2021-08-18 2021-08-19 null 2021-08-18