SQL sortering og gruppering. RHS – IT A 2 SQL - sortering Hvis en forespørgsel returnerer mange rækker, kan det være bekvemt at sortere resultatet SQL.

Slides:



Advertisements
Lignende præsentationer
HUNDE SPEED km h 34,4 HUNDE SPEED km h 34,1 HUNDE SPEED km h 32,8 HUNDE SPEED km h 31,9 HUNDE SPEED km h 31,8 HUNDE SPEED km h 30,9.
Advertisements

Atomer Et programmeret forløb. En måde at lære på.
Forretningsudvikling og Urmennesker
Du skal vide nogen om blodtrykket, fordi det fortæller noget om hvordan dit hjerte har det. HUSK - at hjertet ikke er til at undvære ligesom bilen.
SMUT PAKKE 3 VIDEN OM KOST.
Funktioner Grundbegreber.
NemID og Fællesskema 2014 v/Signe Hansen Blegmand
Funktioner Grundbegreber.
Du skal vide nogen om blodtrykket, fordi det fortæller noget om hvordan dit hjerte har det. HUSK - at hjertet ikke er til at undvære ligesom bilen.
Hjemmesidekonstruktion Tjekspørgsmål 1.Hvad er et markup-sprog – hvad bruges det til? 2.Hvad er forskellen mellem et markup-sprog og et scriptsprog? 3.Hvad.
Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
SQL introduktion og basis
SQL underforespørgsler og Join
Formularer (Access, del 3)
Bolig selskabernes Landsforening– Almene lejeboliger - Maj/Juni Almene lejeboliger - Danmarkspanelet - Maj/Juni 2010.
Communication & Design ODEUM e-Plan Landinspektør Martin Høgh Urban Planning and Transport.
Trivselsundersøgelse og ledelsesevaluering
av Lajla Ellingsen og Mari By Rise Adresseavisen
SQL 1 DDL og DML.
Projektledelse IT-projektledelse (ITP) Projektledelse og Produktion af Digitalt Indhold (DPI) Projektledelse IT-projektledelse (ITP) Projektledelse og.
Felter og nøgle-felter (databaser, del 6)
SMUT PAKKE 4 VIDEN OM MOTION.
PROGRAM Introduktion til internettet Hvad er en PC? Musetræning
SEO PÅ AU.
Problemer med at bruge tympanometri? Slagelse og Middelfart okt.-nov
View Procedures Trigger og Function Jesper Tørresø DAB1 E07 1. november 2007.
1 Effektiv forrentning Kjeld Tyllesen PEØ, CBS Erhvervsøkonomi / Managerial Economics Kjeld Tyllesen, PEØ, CBS.
Statistik.
Repetition: likelihood ratio test Test af hvorvidt faktorer med flere end 2 niveauer (mere end 1 parameter) kan udelades fra model: likelihood ratio test.
CodeIgniter Database Brugerinput Form Validation 20101JFH.

Representations for Path Finding in Planar Environments.
Introduktion til Access (Access, del 1)
Validering af data (Access, del 7)
Opslagsfelter (Access, del 6). RHS – Informationsteknologi 2 Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser vores.
Oprettelse af tabeller (Access, del 2)
Rapporter (Access, del 5)
Pleje og Sundhed Gennemførte719 Inviterede895 Svarprocent80% FREDERICIA KOMMUNE MTU og Psykisk APV 2012 Rapportspecifikationer.
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Indhold Kort om sundhedsprofilen Hvad kan man bruge sundhedsprofilen til? Udvalgte data Hvordan skal den læses? Kommunikationsstrategi 2.
Trivselsundersøgelse og ledelsesevaluering Anæstesiologisk Afdeling Flere ledere
Et vejledningsværktøj KOT Ansøgningsflow. Forsiden af Optagelse.dk 2.
Operationer på relationer
MATLAB Programmering Anders P. Ravn Institut for Datalogi Aalborg Universitet Forår 2005 d = size(s); for k = 1:d(1), for n = 1:d(2), if (s(k,n) < 0) r(k,n)
22/092VE/E00/RB1 Introduktion til SQL Datalogi 2VE E00 DIKU Forelæsninger 22/9 og 29/9.
ETU 2008 | Elevtilfredshedsundersøgelse Erhvervsskolen Nordsjælland HTX (Teknisk Gymnasium) - Hillerød Baseret på 313 besvarelser.
ELEVOPGAVER I HYGIEJNE
1 Borgerpanelet i Silkeborg Kommune.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
Globaliseringsredegørelsen 24.mar. 14 Figurer fra Danmark tiltrækker for få udenlandske investeringer i Sådan ligger landet
Matematik B 1.
Side 1 Trivselsmåling - December 2010 Dansk Kabel TV.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
Grunde til at jeg elsker dig
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
Fundamentale datastrukturer
Opslagsfelter (Access, del 6). RHS – Informationsteknologi – Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Slide Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Algorithms for Query Processing and Optimization.
10.mar. 15 Udvikling i løn, priser og konkurrenceevne Dansk Industri.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation og dataproblemer 2. november 2004.
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
Oprettelse af tabeller (Access, del 2)
SQL – Oracle Vigtige SQL sætninger Lektion 6 7. Semester.
Globaliseringsredegørelse 21.mar. 11 Globaliseringsredegørelsen 2011 Grafer fra temakapitlet Eksporten som drivkraft for vækst og velstand.
VTU 2008 | Virksomhedstilfredshedsundersøgelse Aalborg Tekniske Skole Svarprocent: 27% (414 besvarelser ud af mulige)
MySQL dat2sem2018Fall Modul 2 – uge 2.
Præsentationens transcript:

SQL sortering og gruppering

RHS – IT A 2 SQL - sortering Hvis en forespørgsel returnerer mange rækker, kan det være bekvemt at sortere resultatet SQL gør det muligt at sortere resultatet efter værdien af felter i resultatet Til det formål benyttes ORDER BY

RHS – IT A 3 SQL - sortering SELECT FROM WHERE ORDER BY Hvilke felter vil jeg have data fra Hvilken tabel skal data komme fra Hvilke betingelser skal data opfylde Hvilken orden skal resultatet sorteres i

RHS – IT A 4 SQL - sortering Vi benytter en database med information om film som eksempel Film filmid titel land år genre oscars Skuespiller personid navn land født levende oscars Medvirker filmid personid

RHS – IT A 5 SQL - sortering filmidtitellandårgenreoscars 1E.T.USA1982Sci-Fi4 2TaxiFrankrig1998Komedie0 3SultDanmark1966Drama1 4LeonFrankrig1994Thriller0 5Hard BoiledKina1992Action UK1984Sci-Fi2 7SevenUSA1995Thriller1 SELECT * FROM Film ORDER BY titel

RHS – IT A 6 SQL - sortering filmidtitellandårgenreoscars 61984UK1984Sci-Fi2 1E.T.USA1982Sci-Fi4 5Hard BoiledKina1992Action0 4LeonFrankrig1994Thriller0 7SevenUSA1995Thriller1 3SultDanmark1966Drama1 2TaxiFrankrig1998Komedie0 SELECT * FROM Film ORDER BY titel

RHS – IT A 7 SQL - sortering filmidtitellandårgenreoscars 1E.T.USA1982Sci-Fi4 2TaxiFrankrig1998Komedie0 3SultDanmark1966Drama1 4LeonFrankrig1994Thriller0 5Hard BoiledKina1992Action UK1984Sci-Fi2 7SevenUSA1995Thriller1 SELECT titel, år FROM Film WHEREoscars > 0 ORDER BY titel

RHS – IT A 8 SQL - sortering filmidtitellandårgenreoscars 1E.T.USA1982Sci-Fi4 2TaxiFrankrig1998Komedie0 3SultDanmark1966Drama1 4LeonFrankrig1994Thriller0 5Hard BoiledKina1992Action UK1984Sci-Fi2 7SevenUSA1995Thriller1 SELECT titel, år FROM Film WHEREoscars > 0 ORDER BY titel

RHS – IT A 9 SQL - sortering titelår 1984 E.T.1982 Seven1995 Sult1966 SELECT titel, år FROM Film WHEREoscars > 0 ORDER BY titel

RHS – IT A 10 SQL - sortering Vi kan endda angive mere end et enkelt felt – efterfølgende felter benyttes hvis værdi i første felt er ens Vi kan angive faldende eller stigende orden, ved hjælp af DESC (faldende) og ASC (stigende) ORDER BY oscars DESC, år ASC

RHS – IT A 11 SQL - funktioner Vi kan udføre simpel aritmetik i SQL, ved brug af disse funktioner –COUNT (optælling) –SUM (sum) –AVG (gennemsnit) –MIN (minimum værdi) –MAX (maximum værdi) Disse funktioner betegnes aggregate functions (samlende funktioner…?)

RHS – IT A 12 SQL - funktioner En sådan funktion arbejder på værdierne i et givent felt Mængden af værdier styres af den angivne søgebetingelse SELECT COUNT(titel) FROM Film WHERE (oscars > 0) Hvor mange film har vundet en Oscar

RHS – IT A 13 SQL - funktioner Denne forespørgsel kan også skrives som SELECT COUNT(titel) AS oscarWinners FROM Film WHERE (oscars > 0) Ordet AS gør det muligt at omdøbe et felt i søgeresultatet Ændrer kun navnet, ikke selve resultatet NB!

RHS – IT A 14 SQL - funktioner SELECTCOUNT(titel) AS oscarWinners, AVG(oscars) AS averageOscars, MAX(oscars) AS maximalOscars FROMFilm WHERE(oscars > 0)

RHS – IT A 15 SQL - funktioner oscarWinnersaverageOscarsmaximalOscars

RHS – IT A 16 Opgave 4 – SQL Brug Filminformation-databasen fra websiten Kør nedenstående SQL-forespørgsler på databasen –SELECT * FROM Film ORDER BY år ASC –SELECT titel, år FROM Film ORDER BY titel –SELECT MAX(år) AS maxUSA FROM Film WHERE land = ’USA’ –SELECT AVG(år) AS loserYear FROM Film WHERE (oscars = 0) Formulér selv SQL-forespørgsler til at finde nedenstående data: –Find alle oscar-vindende film sorteret efter år (ældste film først) –Find en sorteret liste af filmtitler for franske film –Find året for den ældste film der ikke har vundet en Oscar –Find det gennemsnitlige antal Oscars for Sci-Fi film –Find det totale antal Oscars vundet af film fra USA

RHS – IT A 17 SQL - gruppering De samlende funktioner er nyttige til at beregne værdier baseret på alle elementer i resultatet Nogle gange vil vi gerne kunne gøre dette for en bestemt del af resultatet Dette kan gøres ved at bruge WHERE… …men det kan være meget besværligt i praksis

RHS – IT A 18 SQL - gruppering Antag vi har en database med film fra mere end 100 lande ”Find det totale antal film lavet i hvert enkelt land” SELECT COUNT(titel) AS filmCount FROM Film WHERE land = ’…’ Mere end 100 forespørgsler…

RHS – IT A 19 SQL - gruppering Et bedre alternativ er GROUP BY Syntaks: SELECT FROM GROUP BY Producerer et resultat for hver gruppe, defineret ved den angivne feltliste

RHS – IT A 20 SQL - gruppering filmidtitellandårgenreoscars 1E.T.USA1982Sci-Fi4 2TaxiFrankrig1998Komedie0 3SultDanmark1966Drama1 4LeonFrankrig1994Thriller0 5Hard BoiledKina1992Action UK1984Sci-Fi2 7SevenUSA1995Thriller1 SELECT land, COUNT(titel) AS filmCount FROM Film GROUP BY land

RHS – IT A 21 SQL - gruppering filmidtitellandårgenreoscars 1E.T.USA1982Sci-Fi4 2TaxiFrankrig1998Komedie0 3SultDanmark1966Drama1 4LeonFrankrig1994Thriller0 5Hard BoiledKina1992Action UK1984Sci-Fi2 7SevenUSA1995Thriller1 SELECT land, COUNT(titel) AS filmCount FROM Film GROUP BY land

RHS – IT A 22 SQL - gruppering landfilmCount Danmark1 Frankrig2 Kina1 UK1 USA2

RHS – IT A 23 SQL - gruppering landoscarTotal Danmark1 Frankrig0 Kina0 UK2 USA5 SUM(oscars) AS …

RHS – IT A 24 SQL - gruppering I det sidste eksempel kunne det måske være nyttigt at udelade grupper, hvor resultatet er lig nul Mere generelt; medtag kun grupper, der opfylder en given betingelse Dette kan opnås ved at benytte HAVING

RHS – IT A 25 SQL - gruppering Syntaks: SELECT FROM GROUP BY HAVING

RHS – IT A 26 SQL - gruppering filmidtitellandårgenreoscars 1E.T.USA1982Sci-Fi4 2TaxiFrankrig1998Komedie0 3SultDanmark1966Drama1 4LeonFrankrig1994Thriller0 5Hard BoiledKina1992Action UK1984Sci-Fi2 7SevenUSA1995Thriller1 SELECT land, SUM(oscars) AS oscarTotal FROM Film GROUP BY land HAVING(SUM(oscars) > 0)

RHS – IT A 27 SQL - gruppering filmidtitellandårgenreoscars 1E.T.USA1982Sci-Fi4 2TaxiFrankrig1998Komedie0 3SultDanmark1966Drama1 4LeonFrankrig1994Thriller0 5Hard BoiledKina1992Action UK1984Sci-Fi2 7SevenUSA1995Thriller1 SELECT land, SUM(oscars) AS oscarTotal FROM Film GROUP BY land HAVING(SUM(oscars) > 0)

RHS – IT A 28 SQL - gruppering landoscarTotal USA5 Frankrig0 UK2 Kina0 Danmark1

RHS – IT A 29 SQL - gruppering landoscarTotal USA5 UK2 Danmark1

RHS – IT A 30 SQL - gruppering Men… …er HAVING det samme som WHERE..? Ikke helt –WHERE udvælger specifikke poster –HAVING udvælger specifikke grupper som skal med i det endelige resultat Vi kan ikke benytte samlende funktioner i en WHERE betingelse

RHS – IT A 31 Opgave 5 – SQL Brug Filminformation-databasen fra websiten Kør nedenstående SQL-forespørgsler på databasen –SELECT genre, AVG(oscars) FROM Film GROUP BY genre –SELECT oscars, MAX(år) FROM Film WHERE (oscars > 0) GROUP BY oscars –SELECT genre, AVG(oscars) FROM Film GROUP BY genre HAVING (COUNT(titel) > 1) Formulér selv SQL-forespørgsler til at finde nedenstående data –Find antallet af film lavet i hvert land. For hvert land skal filmene være grupperet efter genre –Find det gennemsnitlige antal Oscars vundet af film for hvert land –Find antallet af film lavet i hvert land. Kun film lavet efter 1985 skal være med i resultatet