Bu soru esinlenerek bu bir [kapalı] ve neredeyse bu aynıdır biri fakat farklı RDBMS en kullanarak (PostgreSQL vs MySQL).
Bir tümör listesine sahip olduğumu varsayalım (bu veriler gerçek verilerden simüle edilmiştir):
CREATE table illness (nature_of_illness VARCHAR(25), created_at DATETIME);
INSERT INTO illness VALUES ('Cervix', '2018-01-03 15:45:40');
INSERT INTO illness VALUES ('Cervix', '2018-01-03 15:45:40');
INSERT INTO illness VALUES ('Cervix', '2018-01-03 15:45:40');
INSERT INTO illness VALUES ('Cervix', '2018-01-03 15:45:40');
INSERT INTO illness VALUES ('Cervix', '2018-01-03 15:45:40');
INSERT INTO illness VALUES ('Lung', '2018-01-03 17:50:32');
INSERT INTO illness VALUES ('Lung', '2018-02-03 17:50:32');
INSERT INTO illness VALUES ('Lung', '2018-02-03 17:50:32');
INSERT INTO illness VALUES ('Lung', '2018-02-03 17:50:32');
INSERT INTO illness VALUES ('Cervix', '2018-02-03 17:50:32');
-- 2017, with 1 Cervix and Lung each for the month of Jan - tie!
INSERT INTO illness VALUES ('Cervix', '2017-01-03 15:45:40');
INSERT INTO illness VALUES ('Lung', '2017-01-03 17:50:32');
INSERT INTO illness VALUES ('Lung', '2017-02-03 17:50:32');
INSERT INTO illness VALUES ('Lung', '2017-02-03 17:50:32');
INSERT INTO illness VALUES ('Lung', '2017-02-03 17:50:32');
INSERT INTO illness VALUES ('Cervix', '2017-02-03 17:50:32');
Belirli bir ayda hangi tümörün en yaygın olduğunu bulmak istiyorsunuz - şimdiye kadar çok iyi!
Şimdi, 2017'nin 1 ayı için bir kravat olduğunu fark edeceksiniz - bu yüzden rastgele birini seçmek ve cevap olarak vermek mantıklı değil - bu yüzden bağlar dahil edilmelidir - bu sorunu çok daha zorlaştırıyor.
Doğru cevap:
Year Month Tumour count Type
2017 1 1 Cervix -- note tie
2017 1 1 Lung -- " "
2017 2 3 Lung
2018 1 5 Cervix
2018 2 3 Lung
Başka bir bonus da ay adının bir tamsayı yerine metin olarak görünmesini sağlamaktır.
Bir çözümüm var ama oldukça karmaşık - çözümümün optimal olup olmadığını bilmek istiyorum. MySQL kemanı burada !