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
u4_databaser [2011-03-30 10:47]
Joakim Forsgren
u4_databaser [2012-10-16 09:30]
Joakim Forsgren
Line 1: Line 1:
 ====== SELECT frågor 4 ====== ====== SELECT frågor 4 ======
 +<php>
 +/*
 1. Skriv ett lite PHP-script som lägger in 100 000 datum poster med en slumpad temperatur (Temp) mellan 0 och 20. 1. Skriv ett lite PHP-script som lägger in 100 000 datum poster med en slumpad temperatur (Temp) mellan 0 och 20.
 Temperaturen skall ha en decimal. Temperaturen skall ha en decimal.
Line 9: Line 11:
 // Ni måste ju koppla upp er mot databasen mm... // Ni måste ju koppla upp er mot databasen mm...
 for($i=0; $i<100000; $i++) { for($i=0; $i<100000; $i++) {
-    $sql =  "INSERT INTO `Dates` (`DateTime` ,`Temp`) VALUES (...resten ska ni göra själva...";+//  $sql =  "INSERT INTO `Dates` (`DateTime` ,`Temp`) VALUES (...resten ska ni göra själva..."; 
 +    $sql = "INSERT INTO `Dates` (`DateTime` ,`Temp`) VALUES (DATE_ADD('1970-01-01 00:00:00',INTERVAL " .($i*5). " HOUR),ROUND(RAND()*20))";
     mysql_query($sql);     mysql_query($sql);
 } }
 ?> ?>
 </code> </code>
-<php> 
-//    $sql = "INSERT INTO `Dates` (`DateTime` ,`Temp`) VALUES (DATE_ADD('1970-01-01 00:00:00',INTERVAL " .($i*5). " HOUR),ROUND(RAND()*20))"; 
-</php> 
- 
- 
 Tips! DATE_ADD, RAND, ROUND Tips! DATE_ADD, RAND, ROUND
  
Line 32: Line 30:
  
 //Om ni har lyckats att skapa era poster så kan ni tabort tabellen "Dates" om ni vill...// //Om ni har lyckats att skapa era poster så kan ni tabort tabellen "Dates" om ni vill...//
 +*/
 +</php>
  
-Nu skall nu använda min databas **jf**. Om du inte kommer ihåg hur man loggade in kolla: [[u1_databaser]]\\ +Nu skall du använda min databas **jf**. Om du inte kommer ihåg hur man loggade in kolla: [[u1_databaser]]\\ 
-Tabellen heter Dates. Tanken med att använda min databas är att ni skall kunna se om ni har gjort rätt...+Tabellen heter **Dates**
  
-2. Ni skall beräkna medeltemperaturen för åren 2000-2005 jag vill också veta hur många temperaturen det finns registrerade varje år.+1. Ni skall beräkna medeltemperaturen för åren 2000-2005 jag vill också veta hur många temperatur poster det finns registrerade varje år.
 ex på lämpligt svar på er SQL-fråga ex på lämpligt svar på er SQL-fråga
 <code> <code>
Line 58: Line 58:
 </php> </php>
  
-3. Plocka fram de år som har temperaturer registrerade 366 dagar...+2. Plocka fram de år som har temperaturer registrerade 366 dagar...
 <code>   <code>  
 +------+------+ +------+------+
Line 83: Line 83:
 SELECT YEAR(DateTime) as Year ,COUNT(DISTINCT DAYOFYEAR(DateTime)) AS  SELECT YEAR(DateTime) as Year ,COUNT(DISTINCT DAYOFYEAR(DateTime)) AS 
 Days FROM Dates GROUP BY YEAR(Datetime) HAVING Days=366; Days FROM Dates GROUP BY YEAR(Datetime) HAVING Days=366;
 +alt.
 +SELECT * FROM (SELECT YEAR(DateTime) as Year ,COUNT(DISTINCT DAYOFYEAR(DateTime)) AS 
 +Days FROM Dates GROUP BY YEAR(Datetime)) as foo WHERE Days=366
 +
 */ */
 </php> </php>
-