My mysql version is 8.+.
Table structure:
CREATE TABLE `loss` (
`date` date DEFAULT NULL,
`circle` varchar(100) DEFAULT NULL,
`district` varchar(100) DEFAULT NULL,
`kpi_1` int(11) DEFAULT NULL,
`kpi_2` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Data for the table loss:
insert into `loss`(`date`,`circle`,`district`,`kpi_1`,`kpi_2`) values
('2020-09-20','101','delhi',90,100),
('2020-09-20','102','Punjab',80,10),
('2020-09-20','104','delhi',90,90),
('2020-09-20','104','New Delhi',20,10),
('2020-09-20','104','Punjab',45,23),
('2020-09-20','104','New Delhi',4,13),
('2020-09-20','104','New Delhi',7,150),
('2020-09-20','104','New Delhi',80,40),
('2020-09-20','104','New Delhi',80,50),
('2020-09-20','104','New Delhi',NULL,NULL);
Query:
select date,circle,district,count(*) as total_rows,sum(kpi_1),sum(kpi_2) from loss
group by date,circle,distrcit
I can get all aggregates, but how to find median as well?