Cześć,
Mam prośbę do osób, które mają chwilę czasu, aby pomóc sprawdzić poprawność sześciu zapytań GROUP BY, których chcę użyć w nadchodzącym odcinku serii MySQL o grupowaniu (nie mam świeżego oka jako autor poleceń). Chodzi o znalezienie ewentualnych błędów lub po prostu powiedzenie: to zapytanie nr X jest OK. Dziękuję za pomoc!
Import baz można pobrać tutaj
Baza z pliku world.sql
1. Ile jest państw na każdym z kontynentów?
SELECT Continent, COUNT(Code) AS IlePanstw FROM country GROUP BY Continent ORDER BY IlePanstw DESC
2. Które języki (oficjalne, urzędowe) są używane przez najwięcej państw europejskich?
SELECT Language, COUNT(CountryCode) AS IlePanstwUzywa FROM countrylanguage, country WHERE IsOfficial="T" AND Continent="Europe" AND country.Code=countrylanguage.CountryCode GROUP BY Language ORDER BY IlePanstwUzywa DESC
3. Podaj dla każdego państwa w Ameryce Południowej łączną liczbę obywateli, mieszkających w dużych miastach, mających co najmniej 100 tysięcy mieszkańców?
SELECT country.Name, SUM(city.Population) AS IluObywateli FROM city, country WHERE Continent="South America" AND city.Population>100000 AND country.Code=city.CountryCode GROUP BY country.Name ORDER BY IluObywateli DESC
Baza z pliku ptaki.sql
4. Ile ptaków należących do każdego gatunku zaobserwowali ornitolodzy? Ptaków którego gatunku było najwięcej?
SELECT nazwa_zwyczajowa, SUM(Liczebnosc) AS IlePtakow FROM gatunki, obserwacje WHERE gatunki.ID_gatunku=obserwacje.ID_gatunku GROUP BY nazwa_zwyczajowa ORDER BY IlePtakow DESC
5. Jakich 10 gatunków ptaków było obiektem najczęściej prowadzonych obserwacji przez ornitologów w powiecie gdańskim?
SELECT gatunki.nazwa_zwyczajowa, COUNT(poczatek) AS IleObserwacji FROM gatunki, obserwacje, lokalizacje WHERE gatunki.ID_gatunku=obserwacje.ID_gatunku AND lokalizacje.ID_lokalizacji=obserwacje.ID_lokalizacji AND lokalizacje.powiat="gdanski" GROUP BY gatunki.nazwa_zwyczajowa ORDER BY IleObserwacji DESC LIMIT 10
6. W którym powiecie liczba zaobserwowanych ptaków z gatunku dzieciol, lecz tylko tych, które żerują w lesie, jest największa, a w którym najmniejsza?
SELECT powiat, SUM(liczebnosc) AS ZerujacychWLesieDzieciolow FROM gatunki, obserwacje, lokalizacje WHERE zachowanie="zeruje" AND nazwa_zwyczajowa LIKE "dzieciol%" AND opis LIKE "%las%" AND gatunki.ID_gatunku=obserwacje.ID_gatunku AND lokalizacje.ID_lokalizacji=obserwacje.ID_lokalizacji GROUP BY powiat ORDER BY ZerujacychWLesieDzieciolow DESC