SQL-laused CREATE TABLE IF NOT EXISTS `lemmikloomad` ( `id` int(11) NOT NULL, `liik` varchar(10) NOT NULL, `synniaasta` int(11) NOT NULL, `omanik` varchar(10) NOT NULL ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; -- -- Andmete tõmmistamine tabelile `lemmikloomad` -- INSERT INTO `lemmikloomad` (`id`, `liik`, `synniaasta`, `omanik`) VALUES (1, 'koer', 2011, 'mati'), (2, 'koer', 2012, 'kati'), (3, 'koer', 2011, 'mati'), (4, 'kass', 2011, 'mati'), (5, 'koer', 2005, 'kati'), (6, 'kass', 2015, 'mati'); SELECT * FROM lemmikloomad WHERE liik='koer'; +----+------+------------+--------+ | id | liik | synniaasta | omanik | +----+------+------------+--------+ | 1 | koer | 2011 | mati | | 2 | koer | 2012 | kati | | 3 | koer | 2011 | mati | | 5 | koer | 2005 | kati | +----+------+------------+--------+ SELECT COUNT(*) FROM lemmikloomad; +----------+ | COUNT(*) | +----------+ | 6 | +----------+ SELECT MIN(synniaasta) FROM lemmikloomad; +-----------------+ | MIN(synniaasta) | +-----------------+ | 2005 | +-----------------+ SELECT liik, COUNT(*) FROM lemmikloomad GROUP BY liik; +------+----------+ | liik | COUNT(*) | +------+----------+ | kass | 2 | | koer | 4 | +------+----------+ --Leidke igast liigist vanima isendi sünniaasta SELECT liik, MIN(synniaasta) FROM lemmikloomad GROUP BY liik; +------+-----------------+ | liik | MIN(synniaasta) | +------+-----------------+ | kass | 2011 | | koer | 2005 | +------+-----------------+ SELECT AVG(synniaasta) FROM lemmikloomad; +-----------------+ | AVG(synniaasta) | +-----------------+ | 2010.8333 | +-----------------+ -- Keskmisest nooremad loomad SELECT liik, synniaasta FROM lemmikloomad WHERE synniaasta>2010.8; +------+------------+ | liik | synniaasta | +------+------------+ | koer | 2011 | | koer | 2012 | | koer | 2011 | | kass | 2011 | | kass | 2015 | +------+------------+ SELECT liik, synniaasta FROM lemmikloomad WHERE synniaasta> (SELECT AVG(synniaasta) FROM lemmikloomad); +------+------------+ | liik | synniaasta | +------+------------+ | koer | 2011 | | koer | 2012 | | koer | 2011 | | kass | 2011 | | kass | 2015 | +------+------------+ SELECT liik, synniaasta FROM lemmikloomad AS tabel1 WHERE synniaasta> (SELECT AVG(synniaasta) FROM lemmikloomad AS tabel2 WHERE tabel1.liik=tabel2.liik); +------+------------+ | liik | synniaasta | +------+------------+ | koer | 2011 | | koer | 2012 | | koer | 2011 | | kass | 2015 | +------+------------+ --Leidke iga sünniaasta kohta, mitu protsenti tabelis olevatest lemmikloomadest --on sündinud vastaval aastal. SELECT synniaasta, COUNT(*) / (SELECT COUNT(*) FROM lemmikloomad) AS suhe FROM lemmikloomad GROUP BY synniaasta; +------------+--------+ | synniaasta | suhe | +------------+--------+ | 2005 | 0.1667 | | 2011 | 0.5000 | | 2012 | 0.1667 | | 2015 | 0.1667 | +------------+--------+ SELECT synniaasta, ROUND(suhe*100, 2) AS protsent FROM (SELECT synniaasta, COUNT(*) / (SELECT COUNT(*) FROM lemmikloomad) AS suhe FROM lemmikloomad GROUP BY synniaasta) AS tabel1; +------------+----------+ | synniaasta | protsent | +------------+----------+ | 2005 | 16.67 | | 2011 | 50.00 | | 2012 | 16.67 | | 2015 | 16.67 | +------------+----------+