From ffa92bbe28d9c0c9447b86dd97a5334e59377c7d Mon Sep 17 00:00:00 2001 From: Jan Kvapil Date: Sun, 12 Feb 2017 18:06:25 +0100 Subject: [PATCH 1/2] Solution for SUM and COUNT with nobel table --- sum-and-count-nobel.sql | 63 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 sum-and-count-nobel.sql diff --git a/sum-and-count-nobel.sql b/sum-and-count-nobel.sql new file mode 100644 index 0000000..f881d3d --- /dev/null +++ b/sum-and-count-nobel.sql @@ -0,0 +1,63 @@ +/* +The nobel table can be used to practice more SUM and COUNT functions. +*/ + +--#1 +/* +Show the total number of prizes awarded. +*/ +SELECT COUNT(winner) FROM nobel + +--#2 +/* +List each subject - just once +*/ +SELECT DISTINCT subject +FROM nobel + +--#3 +/* +Show the total number of prizes awarded for Physics. +*/ +SELECT COUNT(*) FROM nobel WHERE subject='Physics' + +--#4 +/* +For each subject show the subject and the number of prizes. +*/ +SELECT subject, COUNT(*) +FROM nobel +GROUP BY subject + +--#5 +/* +For each subject show the first year that the prize was awarded. +*/ +SELECT subject,MIN(yr) +FROM nobel +GROUP BY subject + +--#6 +/* +For each subject show the number of prizes awarded in the year 2000. +*/ +SELECT subject, COUNT(winner) +FROM nobel +WHERE yr=2000 +GROUP BY subject + +--#7 +/* +Show the number of different winners for each subject. +*/ +SELECT DISTINCT subject, COUNT(DISTINCT winner) +FROM nobel +GROUP BY subject + +--#8 +/* +For each subject show how many years have had prizes awarded. +*/ +SELECT subject, COUNT(DISTINCT yr) +FROM nobel +GROUP BY subject \ No newline at end of file From a6024044c604407d4ac8423b30b849cc087c06f8 Mon Sep 17 00:00:00 2001 From: Jan Kvapil Date: Sun, 12 Feb 2017 19:47:31 +0100 Subject: [PATCH 2/2] ADD solutions 9-12 --- sum-and-count-nobel.sql | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/sum-and-count-nobel.sql b/sum-and-count-nobel.sql index f881d3d..126b503 100644 --- a/sum-and-count-nobel.sql +++ b/sum-and-count-nobel.sql @@ -60,4 +60,38 @@ For each subject show how many years have had prizes awarded. */ SELECT subject, COUNT(DISTINCT yr) FROM nobel -GROUP BY subject \ No newline at end of file +GROUP BY subject + +--#9 +/* +Show the years in which three prizes were given for Physics. +*/ +SELECT yr FROM nobel +WHERE subject='Physics' +GROUP BY yr +HAVING COUNT(yr)=3 + +--#10 +/* +Show winners who have won more than once. +*/ +SELECT winner FROM nobel +GROUP BY winner +HAVING COUNT(winner)>1 + +--#11 +/* +Show winners who have won more than one subject. +*/ +SELECT winner FROM nobel +GROUP BY winner +HAVING COUNT(DISTINCT subject) > 1 + +--#12 +/* +Show the year and subject where 3 prizes were given. Show only years 2000 onwards. +*/ +SELECT yr, subject FROM nobel +WHERE yr >= 2000 +GROUP BY yr, subject +HAVING COUNT(DISTINCT winner)=3 \ No newline at end of file