Differences

This shows you the differences between two versions of the page.

Link to this comparison view

birds_databaser [2018-10-12 13:26]
Joakim Forsgren
birds_databaser [2022-07-18 13:20]
Line 1: Line 1:
-====== SELECT frågor med join ====== 
-Nu skall nu använda min databas **jf_select**. (login: jf_select, passwd: jf_select) 
-När det står tips så är det något nytt, det räcker inte enbart med det som står som tips. Ni kommer behöva läsa i manualen för att lyckas skulle jag tro :-)\\ 
-**OBS!** Ni får bara ställa en fråga för att ta fram ert svar, spara de SQL-frågor ni ställer i en textfil (mysql4.txt).\\ 
-Följande tabeller finns i databasen jf_select (i princip lika i varje fall…) \\ 
-{{:selectuppgifter_html_m3687461c.png|}} 
-<code SQL># ev Måste ni först ställa om teckentabellen om du jobbar via terminal 
-SET NAMES utf8</code> 
  
-  - Visa alla fåglar 
-  - Skriv en fråga som ger en rad till svar och det är antalet fåglar, typ som nedan.<code> 
-+-----+ 
-| N   | 
-+-----+ 
-| 475 | 
-+-----+ 
-</code> 
-  - Visa alla fåglar, sorterat på namn. 
-  - Visa alla fåglar, sorterat på artlistan (alltså efter Sort). 
-  - Visa de 10 första fåglarna, sorterat på artlistan (alltså efter Sort). 
-  - Visa alla fåglar som har **trast** i sitt namn (18 st). 
-  - Visa alla fåglar som börjar på **stor** (8 st). 
-  - Visa alla fåglar som slutar på **ett** (6 st). 
-  - Visa alla kryss som användaren med UserID 3 har, jag vill se fågelnamnen. (Tips INNER JOIN) 
-  - Visa alla fåglar som användaren med login = JF har kryssat Tips: INNER JOIN x 2 
-  - Skriv en fråga som tar fram hur många kryss användaren med UserID=1 har av varje fågel och man får dem sorterade efter antal. **Tips:** COUNT, GROUP BY.Exempel på svar:<code> 
-+-----------------------+-------+ 
-| Name                  | Antal | 
-+-----------------------+-------+ 
-| Knipa                    10 | 
-| Grå kråka                 6 | 
-| Knölsvan              |     6 | 
-| Sångsvan              |     5 | 
-| Sothöna                   5 | 
-| Blåmes                |     4 | 
-| Skata                     4 | 
-| Talgoxe                   4 | 
-| Sädesärla                 4 | 
-| Gräsand                   4 | 
-| Skrattmås                 4 | 
-| Fiskmås                   4 | 
-osv... 
-</code> 
-  - Gör om frågan så att man bara ser de fåglar som JF har fler än 4 observationer av. 
-  - Gör om frågan så att man bara ser de fåglar som JF har 1 observation av.<code> 
-Nu börjar det bli svårt...</code> 
-  - Skriv en fråga som tar fram hur många olika fågelarter varje användare har. Tips: COUNT (DISTINCT… Ex på lämpligt svar:<code> 
-+-----------+-----------------+-------+ 
-| FirstName | LastName        | Antal | 
-+-----------+-----------------+-------+ 
-| Jörgen    | Wiklund           234 | 
-| Anna      | Lindgren        |   217 | 
-| Jan       | Schützer        |   213 | 
-| Liam      | Martin          |   192 | 
-| Johanna   | Martin          |   176 | 
-| Helen     | Forsgren        |   171 | 
-| Joakim    | Forsgren        |   171 | 
-| Anita     | Bäckström         169 | 
-| Hasse     | Bäckström         159 | 
-| Fritz     | Forsgren        |   154 | 
-| Edvin     | Forsgren        |   142 | 
-| Ulla      | Forsgren        |   141 | 
-| Kristina  | Wiklund           131 | 
-| Nina      | Ödmark          |   123 | 
-osv... 
-</code> 
-  - Skriv en fråga som visar hur många gånger olika arter har sets från någon tomt. (Plot = 1) sorterat efter vilken fågel som setts av flest personer. (Fågeln får bara räknas en gång per person) Ex på lämpligt svar:<code> 
-+-----------------------+-------+ 
-| Name                  | Antal | 
-+-----------------------+-------+ 
-| Skata                    30 | 
-| Blåmes                |    28 | 
-| Talgoxe                  28 | 
-| Björktrast            |    26 | 
-| Grå kråka                26 | 
-| Bofink                |    26 | 
-| Domherre              |    26 | 
-| Grönfink              |    24 | 
-| Pilfink                  23 | 
-| Större hackspett      |    22 | 
-| Sädesärla                22 | 
-| Rödhake                  22 | 
-| Koltrast              |    20 | 
-| Gulsparv              |    20 | 
-osv.. 
-</code> 
-  - Skriv en fråga som visar 10 i topplistan för år 2004. (Flest sedda Fågelarter per person) Ex på lämpligt svar:<code> 
-+--------------------+-------+ 
-| Namn               | Antal | 
-+--------------------+-------+ 
-| Jörgen Wiklund       223 | 
-| Jan Schützer         200 | 
-| Liam Martin        |   154 | 
-| Anita Bäckström    |   148 | 
-| Joakim Forsgren    |   141 | 
-| Helen Forsgren       140 | 
-| Hasse Bäckström    |   139 | 
-| Johanna Martin       130 | 
-| Kristina Wiklund     123 | 
-| Fritz Forsgren       112 | 
-+--------------------+-------+ 
-</code> 
- 
-<php> 
-/* 
-<code SQL> 
-1. 
-SELECT * FROM Birds; 
- 
-9. 
-SELECT * FROM Observations  
-WHERE UserID=3; 
- 
-10. 
-SELECT * FROM Users INNER JOIN Observations USING(UserID) 
-WHERE Login='JF'; 
- 
-11. 
-SELECT Name,COUNT(UserID) as Antal  
-FROM Birds INNER JOIN Observations USING(BirdID)  
-WHERE UserID=1  
-GROUP BY BirdID  
-ORDER BY Antal DESC; 
- 
-12. 
-SELECT Name,COUNT(UserID) as Antal  FROM Birds INNER JOIN Observations USING(BirdID)  WHERE UserID=3  GROUP BY BirdID  having Antal>4 ORDER BY Antal DESC; 
- 
-14. 
-SELECT CONCAT(FirstName,' ',LastName) as Name,COUNT(DISTINCT BirdID) as Antal  
-FROM Users INNER JOIN Observations USING(UserID)  
-GROUP BY UserID  
-ORDER BY Antal DESC; 
- 
-15. 
-SELECT Name,COUNT(DISTINCT UserID) as Antal  
-FROM Birds INNER JOIN Observations USING(BirdID)  
-WHERE Plot=1  
-GROUP BY BirdID ORDER BY Antal DESC; 
- 
-16. 
-SELECT CONCAT(FirstName,' ',LastName) as Name,COUNT(DISTINCT BirdID) as Antal  
-FROM Users INNER JOIN Observations USING(UserID)  
-WHERE YEAR(Date)=2004  
-GROUP BY UserID  
-ORDER BY Antal DESC; 
-</code> 
-*/ 
-</php>