Ilmaandmed CREATE TABLE ilmharkus( kuunumber INT, paevanumber INT, kellaaeg TIME, sademed FLOAT, niiskus INT, tempkesk FLOAT, tempmin FLOAT, tempmax FLOAT, tuulesuund INT, tuulekiirus FLOAT, tuulemaxkiirus FLOAT ); LOAD DATA INFILE '/home/jaagup/public_html/2016/abproj/harkuilm.txt' INTO TABLE ilmharkus FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES; SELECT * FROM ilmharkus LIMIT 5; -- Suurimad temperatuurierinevused tunnis SELECT tempmax-tempmin AS vahe FROM ilmharkus ORDER BY vahe DESC LIMIT 10; SELECT kuunumber, paevanumber, kellaaeg, tempmax-tempmin AS vahe FROM ilmharkus ORDER BY vahe DESC LIMIT 20; SELECT ROUND(tempmax-tempmin) AS vahe FROM ilmharkus; SELECT DISTINCT ROUND(tempmax-tempmin) AS vahe FROM ilmharkus; -- Millist täisarvulist temperatuuride vahet mitu korda on SELECT COUNT(*), ROUND(tempmax-tempmin) AS vahe FROM ilmharkus GROUP BY vahe; +----------+------+ | COUNT(*) | vahe | +----------+------+ | 4180 | 0 | | 3426 | 1 | | 941 | 2 | | 148 | 3 | | 44 | 4 | | 8 | 5 | | 10 | 6 | | 2 | 8 | | 1 | 10 | +----------+------+ SELECT COUNT(*), ROUND(tempmax-tempmin, 1) AS vahe FROM ilmharkus GROUP BY vahe; SELECT kellaaeg, COUNT(*), ROUND(tempmax-tempmin) AS vahe FROM ilmharkus GROUP BY vahe, kellaaeg; SELECT kellaaeg, COUNT(*) FROM ilmharkus WHERE tempmax-tempmin>3 GROUP BY kellaaeg ; -- kuvage sarnaselt temperatuurivahede jaotus kellaaegade kaupa -- vahede kohta kolm ja rohkem kraadi SELECT kellaaeg, COUNT(*) FROM ilmharkus WHERE tempmax-tempmin>2.5 GROUP BY kellaaeg ; SELECT tuulekiirus, tuulemaxkiirus FROM ilmharkus LIMIT 5; SELECT tuulekiirus, tuulemaxkiirus FROM ilmharkus WHERE tuulekiirus>0 ORDER BY tuulekiirus/tuulemaxkiirus LIMIT 50; SELECT tuulekiirus, tuulemaxkiirus FROM ilmharkus ORDER BY tuulemaxkiirus-tuulekiirus DESC LIMIT 50; SELECT tempmax-tempmin, tuulekiirus, tuulemaxkiirus FROM ilmharkus ORDER BY tuulemaxkiirus-tuulekiirus DESC LIMIT 50; SELECT tempmax-tempmin, tuulemaxkiirus-tuulekiirus FROM ilmharkus ORDER BY tuulemaxkiirus-tuulekiirus DESC LIMIT 50; SELECT tempmax-tempmin, tuulemaxkiirus-tuulekiirus FROM ilmharkus ORDER BY tuulemaxkiirus-tuulekiirus LIMIT 50; SELECT AVG(tempvahe), AVG(tuulevahe) FROM (SELECT tempmax-tempmin AS tempvahe, tuulemaxkiirus-tuulekiirus AS tuulevahe FROM ilmharkus ORDER BY tuulemaxkiirus-tuulekiirus LIMIT 50) AS abitabel; SELECT AVG(tempvahe), AVG(tuulevahe) FROM (SELECT tempmax-tempmin AS tempvahe, tuulemaxkiirus-tuulekiirus AS tuulevahe FROM ilmharkus ORDER BY tuulemaxkiirus-tuulekiirus DESC LIMIT 50) AS abitabel; -- Proovige erinevusi 25 ja 100 suurema/väiksema tuulteerinevuse korral SELECT AVG(tempvahe), AVG(tuulevahe) FROM (SELECT tempmax-tempmin AS tempvahe, tuulemaxkiirus-tuulekiirus AS tuulevahe FROM ilmharkus ORDER BY tuulemaxkiirus-tuulekiirus DESC LIMIT 25) AS abitabel; -- Iseloomustage sademete jaotust tundide kaupa (sõltumata kellaajast) SELECT sademed, COUNT(sademed), ROUND(SUM(sademed)) FROM ilmharkus GROUP BY sademed; SELECT sademed05, COUNT(*) FROM (SELECT ROUND(sademed*2)/2.0 AS sademed05 FROM ilmharkus) AS abitabel GROUP BY sademed05; +-----------+----------+ | sademed05 | COUNT(*) | +-----------+----------+ | 0.00000 | 8231 | | 0.50000 | 328 | | 1.00000 | 93 | | 1.50000 | 46 | | 2.00000 | 21 | | 2.50000 | 14 | | 3.00000 | 6 | | 3.50000 | 5 | | 4.00000 | 4 | | 4.50000 | 1 | | 5.00000 | 2 | | 6.00000 | 1 | | 6.50000 | 1 | | 7.00000 | 2 | | 8.00000 | 2 | | 10.50000 | 1 | | 11.50000 | 1 | | 12.00000 | 1 | +-----------+----------+ -- Näidake sademete jaotumist vastavalt kellaajale (kogus, kordade arv) SELECT kellaaeg, COUNT(*), SUM(sademed) FROM ilmharkus WHERE sademed>0 GROUP BY kellaaeg; -- Kõrvutage sademete ja tuule tugevuse andmeid, püüdke näidata seost või selle puudumist