Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
u5_databaser [2009-11-10 13:38]
Joakim Forsgren
u5_databaser [2012-03-19 10:02]
Joakim Forsgren
Line 1: Line 1:
 ====== SELECT frågor 5 ====== ====== SELECT frågor 5 ======
-Nu skall nu använda min databas **jf**. Om du inte kommer ihåg hur man loggade in kolla: [[u1_databaser]]\\+Nu skall nu använda min databas **jf_select**. Om du inte kommer ihåg hur man loggade in kolla: [[u1_databaser]]\\
 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 :-)\\ 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.\\ **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.\\
 Följande tabeller finns i databasen jf_select (i princip lika i varje fall…) \\ Följande tabeller finns i databasen jf_select (i princip lika i varje fall…) \\
 {{:selectuppgifter_html_m3687461c.png|}} {{:selectuppgifter_html_m3687461c.png|}}
 +<code SQL># ev Måste ni först ställa om teckentabellen
 +SET NAMES utf8 COLLATE utf8_swedish_ci 
 +# eller 
 +SET NAMES utf8</code>
  
   - Visa alla fåglar   - Visa alla fåglar
-  - Visa alla kryss som användaren med UserID 3 har. (Visa alla observationer på fåglar som användaren med UserID = 3 har gjort)+  - 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   - Visa alla fåglar som användaren med login = JF har kryssat Tips: INNER JOIN
   - 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>   - 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>
Line 81: Line 85:
 | Kristina Wiklund     123 | | Kristina Wiklund     123 |
 | Fritz Forsgren       112 | | Fritz Forsgren       112 |
-osv.. 
 </code> </code>
  
 +<php>
 +/*
 +<code SQL>
 +1.
 +SELECT * FROM Birds;
  
 +2.
 +SELECT * FROM Observations 
 +WHERE UserID=3;
 +
 +3.
 +SELECT * FROM Users INNER JOIN Observations USING(UserID)
 +WHERE Login='JF';
 +
 +4.
 +SELECT Name,COUNT(UserID) as Antal 
 +FROM Birds INNER JOIN Observations USING(BirdID) 
 +WHERE UserID=1 
 +GROUP BY BirdID 
 +ORDER BY Antal DESC;
 +
 +5.
 +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;
 +
 +6.
 +SELECT Name,COUNT(DISTINCT UserID) as Antal 
 +FROM Birds INNER JOIN Observations USING(BirdID) 
 +WHERE Plot=1 
 +GROUP BY BirdID ORDER BY Antal DESC;
 +
 +7.
 +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>