Difference between revisions of "SELECT .. GROUP BY"

From SQLZOO
Jump to: navigation, search
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
-- ISN11, Arturas Minderis
 
  
-- Sukuria duomenu baze DBIS
+
<h1>SELECT .. GROUP BY</h1>
CREATE DATABASE DBIS;
+
Host cities and continents for the Olympics Games are stored in the table <code>games</code>.
 +
Notice that Europe appears in the table twice:
 +
<table>
 +
<caption align='center'>'''games'''</caption>
 +
<tr><th align='center'>'''yr'''</th><th align='center'>'''city'''</th><th align='center'>'''continent'''</th></tr>
 +
<tr><td>2000</td><td align='left'>Sydney</td><td align='left'>Australasia</td></tr>
 +
<tr><td>2004</td><td align='left'>Athens</td><td align='left'>Europe</td></tr>
 +
<tr><td>2008</td><td align='left'>Beijing</td><td align='left'>Asia</td></tr>
 +
<tr><td>2019</td><td align='left'>London</td><td align='left'>Europe</td></tr>
 +
</table>
 +
 +
<div class='ht'>
 +
<div class='params'>schema:scott</div>
 +
<source lang=sql class='tidy'> DROP TABLE games</source>
 +
<source lang=sql class='setup'> CREATE TABLE games(
 +
  yr INTEGER,
 +
  city VARCHAR(20),
 +
  continent VARCHAR(20));
 +
INSERT INTO games VALUES (2000,'Sydney','Australasia');
 +
INSERT INTO games VALUES (2004,'Athens','Europe');
 +
INSERT INTO games VALUES (2008,'Beijing','Asia');
 +
INSERT INTO games VALUES (2012,'London','Europe');
 +
</source>
 +
In a GROUP BY statement only <i>distinct</i> values are shown for the column in the GROUP BY.
 +
This example shows the continents hosting the Olympics with the count of the number of games held.
 +
<source lang='sql' class='def e-oracle'>
 +
SELECT continent, COUNT(yr) FROM scott.games
 +
GROUP BY continent
 +
</source>
 +
<source lang='sql' class='def'>
 +
SELECT continent, COUNT(yr) FROM games
 +
GROUP BY continent
 +
</source>
 +
</div>
  
-- Sukuria lentele DRAUDIMAS su PK Poliso_Numeris
+
<p>See also</p>
CREATE TABLE DRAUDIMAS
+
<ul>
(Poliso_Numeris VARCHAR(30) NOT NULL PRIMARY KEY,
+
  <li>[[SUM_and_COUNT |SUM and COUNT]]</li>
Valstybinis_Numeris_V VARCHAR(6) NOT NULL,
+
  <li>[[SELECT_.._WHERE |SELECT WHERE]]</li>
Tipas VARCHAR(10) DEFAULT 'VPCAD',
+
</ul>
Sudarymo_Data DATE NOT NULL,
 
Galiojimo_Data DATE NOT NULL);
 
 
 
-- Sukuria lentele VILKIKAS su PK Valstybinis_Numeris_V
 
CREATE TABLE VILKIKAS
 
(Valstybinis_Numeris_V VARCHAR(6) NOT NULL PRIMARY KEY,
 
Marke VARCHAR(30) NOT NULL,
 
Modelis VARCHAR(30) NOT NULL,
 
Gamybos_Metai VARCHAR(4) NOT NULL);
 
 
 
-- Sukuria lentele VAIRUOTOJAS su PK Asmens_Kodas
 
CREATE TABLE VAIRUOTOJAS
 
(Asmens_Kodas CHAR(11) NOT NULL PRIMARY KEY,
 
Vardas VARCHAR(20) NOT NULL,
 
Pavarde VARCHAR(30) NOT NULL,
 
Telefonas VARCHAR(12) NOT NULL,
 
ADR VARCHAR(4) DEFAULT NULL);
 
 
 
-- Sukuria lentele PUSPRIEKABE su PK Valstybinis_Numeris_P
 
CREATE TABLE PUSPRIEKABE
 
(Valstybinis_Numeris_P VARCHAR(5) NOT NULL PRIMARY KEY,
 
Marke VARCHAR(30) NOT NULL,
 
Modelis VARCHAR(30) NOT NULL,
 
Gamybos_Metai VARCHAR(4) NOT NULL);
 
 
 
-- Sukuria lentele UZSAKYMAS su PK Numeris
 
CREATE TABLE UZSAKYMAS
 
(Numeris INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
 
Vairuotojo_Asmens_Kodas CHAR(11) NOT NULL,
 
Valstybinis_Numeris_V VARCHAR(6) NOT NULL,
 
Valstybinis_Numeris_P VARCHAR(5) NOT NULL,
 
Kliento_Imones_Kodas INT UNSIGNED NOT NULL,
 
Uzsakymo_Data DATE NOT NULL,
 
Kaina DECIMAL NOT NULL,
 
Apmokejimo_Terminas DATE NOT NULL,
 
Pasikrovimo_Data DATE NOT NULL,
 
Issikrovimo_Data DATE NOT NULL);
 
 
 
-- Sukuria lentele KROVINYS su PK CMR_Nr
 
CREATE TABLE KROVINYS
 
(CMR_Nr VARCHAR(15) NOT NULL PRIMARY KEY,
 
Uzsakymo_Numeris INT UNSIGNED NOT NULL,
 
Rusis VARCHAR(30) NOT NULL,
 
Svoris SMALLINT UNSIGNED DEFAULT 20000 NOT NULL,
 
Verte DECIMAL NOT NULL,
 
Kiekis INT UNSIGNED NOT NULL,
 
BIlgis DECIMAL(4,2) NOT NULL,
 
BPlotis DECIMAL(4,2) NOT NULL,
 
BAukstis DECIMAL(4,2) NOT NULL);
 
 
 
-- Sukuria lentele MARSRUTAS su PK Marsruto_Id
 
CREATE TABLE MARSRUTAS
 
(Marsruto_Id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
 
Uzsakymo_Numeris INT UNSIGNED NOT NULL,
 
Atstumas INT UNSIGNED NOT NULL,
 
Pasikrovimo_Miestas VARCHAR(30) NOT NULL,
 
Issikrovimo_Miestas VARCHAR(30) NOT NULL);
 
 
 
-- Sukuria lentele KLIENTAS su PK Imones_Kodas
 
CREATE TABLE KLIENTAS
 
(Imones_Kodas INT UNSIGNED NOT NULL PRIMARY KEY,
 
Pavadinimas VARCHAR(30) NOT NULL,
 
Adresas VARCHAR(50) NOT NULL,
 
Telefonas VARCHAR(12) NOT NULL);
 
 
 
-- Priskiriam unikalius raktus
 
ALTER TABLE VAIRUOTOJAS ADD CONSTRAINT Vardas_uk UNIQUE (Vardas);
 
ALTER TABLE VAIRUOTOJAS ADD CONSTRAINT Pavarde_uk UNIQUE (Pavarde);
 
ALTER TABLE KLIENTAS ADD CONSTRAINT Pavadinimas_uk UNIQUE (Pavadinimas);
 
 
 
-- Priskiriam išorinius raktus su kaskadiniu irašo šalinimu
 
ALTER TABLE DRAUDIMAS ADD CONSTRAINT Draudimas_Vilkikas_fk FOREIGN KEY (Valstybinis_Numeris_V)
 
REFERENCES VILKIKAS(Valstybinis_Numeris_V) ON DELETE CASCADE;
 
 
 
ALTER TABLE KROVINYS ADD CONSTRAINT Krovinys_Uzsakymas_fk FOREIGN KEY (Uzsakymo_Numeris)
 
REFERENCES UZSAKYMAS(Numeris) ON DELETE CASCADE;
 
 
 
ALTER TABLE MARSRUTAS ADD CONSTRAINT Marsrutas_Uzsakymas_fk FOREIGN KEY (Uzsakymo_Numeris)
 
REFERENCES UZSAKYMAS(Numeris) ON DELETE CASCADE;
 
 
 
ALTER TABLE UZSAKYMAS ADD CONSTRAINT Uzsakymas_Vairuotojas_fk FOREIGN KEY (Vairuotojo_Asmens_Kodas)
 
REFERENCES VAIRUOTOJAS(Asmens_Kodas) ON DELETE CASCADE;
 
 
 
ALTER TABLE UZSAKYMAS ADD CONSTRAINT Uzsakymas_Vilkikas_fk FOREIGN KEY (Valstybinis_Numeris_V)
 
REFERENCES VILKIKAS(Valstybinis_Numeris_V) ON DELETE CASCADE;
 
 
 
ALTER TABLE UZSAKYMAS ADD CONSTRAINT Uzsakymas_Puspriekabe_fk FOREIGN KEY (Valstybinis_Numeris_P)
 
REFERENCES PUSPRIEKABE(Valstybinis_Numeris_P) ON DELETE CASCADE;
 
 
 
ALTER TABLE UZSAKYMAS ADD CONSTRAINT Uzsakymas_Klientas_fk FOREIGN KEY (Kliento_Imones_Kodas)
 
REFERENCES KLIENTAS(Imones_Kodas) ON DELETE CASCADE;
 
 
 
-- Suvedame duomenis i lenteles
 
INSERT INTO VILKIKAS VALUES ('ABC912', 'DAF', 'XF-105', 2006);
 
INSERT INTO VILKIKAS VALUES ('EDL514', 'Volvo', 'FH-12', 2008);
 
INSERT INTO VILKIKAS VALUES ('BEV618', 'Renault', 'Premium 420', 2007);
 
INSERT INTO VILKIKAS VALUES ('CBC912', 'DAF', 'XF-106', 2009);
 
INSERT INTO VILKIKAS VALUES ('DDL514', 'Volvo', 'FH-13', 2010);
 
INSERT INTO VILKIKAS VALUES ('EEV618', 'Renault', 'Premium 421', 2010);
 
INSERT INTO VILKIKAS VALUES ('FBC912', 'DAF', 'XF-108', 2011);
 
INSERT INTO VILKIKAS VALUES ('GDL514', 'Volvo', 'FH-22', 2012);
 
INSERT INTO VILKIKAS VALUES ('HEV618', 'Renault', 'Premium 320', 2009);
 
INSERT INTO VILKIKAS VALUES ('IBC912', 'DAF', 'XF-155', 2007);
 
 
 
INSERT INTO DRAUDIMAS VALUES ('KCMR1234', 'ABC912', 'MCMR', STR_TO_DATE('04,02,2011','%d,%m,%Y'), STR_TO_DATE('04,02,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('VPCAD2145', 'EDL514', 'VPCAD', STR_TO_DATE('22,06,2011','%d,%m,%Y'), STR_TO_DATE('22,06,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('KASKO516', 'BEV618', 'KASKO', STR_TO_DATE('01,07,2011','%d,%m,%Y'), STR_TO_DATE('01,07,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('CMR2234', 'CBC912', 'CMR', STR_TO_DATE('05,02,2011','%d,%m,%Y'), STR_TO_DATE('05,02,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('VPCAD3145', 'DDL514', 'VPCAD', STR_TO_DATE('26,06,2011','%d,%m,%Y'), STR_TO_DATE('26,06,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('KASKO616', 'EEV618', 'KASKO', STR_TO_DATE('07,07,2011','%d,%m,%Y'), STR_TO_DATE('07,07,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('CMR3234', 'FBC912', 'CMR', STR_TO_DATE('08,02,2011','%d,%m,%Y'), STR_TO_DATE('08,02,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('VPCAD4145', 'GDL514', 'VPCAD', STR_TO_DATE('29,06,2011','%d,%m,%Y'), STR_TO_DATE('29,06,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('KASKO716', 'HEV618', 'KASKO', STR_TO_DATE('10,07,2011','%d,%m,%Y'), STR_TO_DATE('10,07,2012','%d,%m,%Y'));
 
INSERT INTO DRAUDIMAS VALUES ('CMR4234', 'IBC912', 'CMR', STR_TO_DATE('11,02,2011','%d,%m,%Y'), STR_TO_DATE('11,02,2012','%d,%m,%Y'));
 
 
 
INSERT INTO PUSPRIEKABE VALUES ('BB815', 'Krone', 'SPD27', '2009');
 
INSERT INTO PUSPRIEKABE VALUES ('AU443', 'Kogel', 'FOXX Tautliner', '2010');
 
INSERT INTO PUSPRIEKABE VALUES ('BL229', 'Schmitz', 'SPR24', '2011');
 
INSERT INTO PUSPRIEKABE VALUES ('AB815', 'Krone', 'SPD27', '2005');
 
INSERT INTO PUSPRIEKABE VALUES ('BU443', 'Kogel', 'FOXX Tautliner', '2006');
 
INSERT INTO PUSPRIEKABE VALUES ('CL229', 'Schmitz', 'SPR24', '2007');
 
INSERT INTO PUSPRIEKABE VALUES ('DB815', 'Krone', 'SPD27', '2008');
 
INSERT INTO PUSPRIEKABE VALUES ('EU443', 'Kogel', 'FOXX Tautliner', '2009');
 
INSERT INTO PUSPRIEKABE VALUES ('FL229', 'Schmitz', 'SPR24', '2010');
 
INSERT INTO PUSPRIEKABE VALUES ('GB815', 'Krone', 'SPD27', '2011');
 
 
 
INSERT INTO VAIRUOTOJAS VALUES ('38010290251', 'Arturas', 'Kamasius', '+37060800900', 'TAIP');
 
INSERT INTO VAIRUOTOJAS (Asmens_Kodas, Vardas, Pavarde, Telefonas) VALUES ('38407141214', 'Jonas', 'Petryla', '+37068645214');
 
INSERT INTO VAIRUOTOJAS (Asmens_Kodas, Vardas, Pavarde, Telefonas) VALUES ('36902129536', 'Marius', 'Jokauskas', '+37069852312');
 
INSERT INTO VAIRUOTOJAS VALUES ('38010290252', 'Arunas', 'Bamasis', '+37060800901', 'TAIP');
 
INSERT INTO VAIRUOTOJAS (Asmens_Kodas, Vardas, Pavarde, Telefonas) VALUES ('38407141212', 'Antanas', 'Guola', '+37068645215');
 
INSERT INTO VAIRUOTOJAS (Asmens_Kodas, Vardas, Pavarde, Telefonas) VALUES ('37002129536', 'Mantas', 'Jokas', '+37069852712');
 
INSERT INTO VAIRUOTOJAS VALUES ('38010290253', 'Tomas', 'Ciasik', '+37060800800', 'TAIP');
 
INSERT INTO VAIRUOTOJAS (Asmens_Kodas, Vardas, Pavarde, Telefonas) VALUES ('38407143614', 'Bradas', 'Pitas', '+37068643214');
 
INSERT INTO VAIRUOTOJAS (Asmens_Kodas, Vardas, Pavarde, Telefonas) VALUES ('36905179536', 'Chuck', 'Norris', '+37069855312');
 
INSERT INTO VAIRUOTOJAS VALUES ('38010290264', 'Steven', 'Segal', '+37060830900', 'TAIP');
 
 
 
INSERT INTO KLIENTAS VALUES (203636219, 'UAB Žaibas', 'Jonazoliu g. 12, Jonava', '+37037456254');
 
INSERT INTO KLIENTAS VALUES (302672672, 'UAB Pervalka', 'Arimu g. 14-2, Vilnius', '+37052714536');
 
INSERT INTO KLIENTAS VALUES (302112514, 'UAB Greitis', 'Plento pr. 5-32, Kaunas', '+37037302563');
 
INSERT INTO KLIENTAS VALUES (203636210, 'UAB Apple', 'Petrazoliu g. 13, Akmene', '+37037456255');
 
INSERT INTO KLIENTAS VALUES (302672671, 'UAB Google', 'Artoju g. 15-12, Rudiskes', '+37052714555');
 
INSERT INTO KLIENTAS VALUES (302112512, 'UAB Samsung', 'Betono pr. 52-62, Palukne', '+37037302566');
 
INSERT INTO KLIENTAS VALUES (203636213, 'UAB Dell', 'Vabalu g. 72, Simasiai', '+37037456257');
 
INSERT INTO KLIENTAS VALUES (302672674, 'UAB IBM', 'Elniu g. 13-56, Panevezys', '+37052714538');
 
INSERT INTO KLIENTAS VALUES (302112515, 'UAB SUN', 'Mesku pr. 25-39, Klaipeda', '+37037302569');
 
INSERT INTO KLIENTAS VALUES (203636216, 'UAB HTC', 'Zalciu g. 62, Marijampole', '+37037456210');
 
 
 
-- Suvedant duomenis Uzsakymu ir Maršrutu PK generuojami automatiskai
 
INSERT INTO UZSAKYMAS VALUES (NULL,'38010290251', 'ABC912', 'FL229',302672671, STR_TO_DATE('14,02,2011', '%d,%m,%Y'), 3000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'38407141214', 'ABC912', 'GB815',203636219, STR_TO_DATE('14,03,2011', '%d,%m,%Y'), 4000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'36902129536', 'DDL514', 'BB815',203636219, STR_TO_DATE('15,04,2011', '%d,%m,%Y'), 5000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'38010290252', 'ABC912', 'BB815',203636219, STR_TO_DATE('16,06,2011', '%d,%m,%Y'), 6000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'38407141212', 'ABC912', 'AB815',203636219, STR_TO_DATE('17,07,2011', '%d,%m,%Y'), 7000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'38010290251', 'ABC912', 'BB815',203636219, STR_TO_DATE('18,08,2011', '%d,%m,%Y'), 8000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'38010290251', 'EDL514', 'EU443',302112515, STR_TO_DATE('19,09,2011', '%d,%m,%Y'), 9000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'37002129536', 'ABC912', 'CL229',203636219, STR_TO_DATE('20,10,2011', '%d,%m,%Y'), 10000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'38010290251', 'ABC912', 'BB815',203636219, STR_TO_DATE('21,11,2011', '%d,%m,%Y'), 11000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
INSERT INTO UZSAKYMAS VALUES (NULL,'38010290251', 'ABC912', 'BB815',203636219, STR_TO_DATE('22,12,2011', '%d,%m,%Y'), 12000, STR_TO_DATE('11,03,2011', '%d,%m,%Y'), STR_TO_DATE('15,02,2011', '%d,%m,%Y'), STR_TO_DATE('22,02,2011', '%d,%m,%Y'));
 
 
 
INSERT INTO MARSRUTAS VALUES (NULL, 1, 218, 'Kaunas', 'Klaipeda');
 
INSERT INTO MARSRUTAS VALUES (NULL, 2, 312, 'Vilnius', 'Klaipeda');
 
INSERT INTO MARSRUTAS VALUES (NULL, 3, 137, 'Vilnius', 'Panevežys');
 
INSERT INTO MARSRUTAS VALUES (NULL, 4, 218, 'Kaunas', 'Akmene');
 
INSERT INTO MARSRUTAS VALUES (NULL, 5, 312, 'Vilnius', 'Jonava');
 
INSERT INTO MARSRUTAS VALUES (NULL, 6, 137, 'Vilnius', 'Panevežys');
 
INSERT INTO MARSRUTAS VALUES (NULL, 7, 218, 'Kaunas', 'Klaipeda');
 
INSERT INTO MARSRUTAS VALUES (NULL, 8, 312, 'Vilnius', 'Kaunas');
 
INSERT INTO MARSRUTAS VALUES (NULL, 9, 137, 'Vilnius', 'Panevežys');
 
INSERT INTO MARSRUTAS VALUES (NULL, 10, 218, 'Kaunas', 'Vilnius');
 
 
 
INSERT INTO KROVINYS VALUES ('XN152345', 1, 'Padangos', 0, 170000, 0, 14.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('AB123456', 2, 'Skalbimo mašinos', 6142, 120000, 1200, 13.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('BK987654', 3, 'Knygos', 21200, 24000, 35000, 13.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('CN152345', 4, 'Padangos', 18000, 170000, 2122, 13.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('DB123456', 5, 'Skalbimo mašinos', 6142, 120000, 1200, 13.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('EK987654', 6, 'Knygos', 21200, 24000, 35000, 13.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('HN152345', 7, 'Knygu lentynos', 18000, 170000, 2122, 13.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('GB123456', 8, 'Skalbimo mašinos', 6142, 120000, 1200, 13.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('HK987654', 9, 'Knygos', 21200, 24000, 35000, 13.6, 2.48, 2.7);
 
INSERT INTO KROVINYS VALUES ('IN152345', 10, 'Padangos', 18000, 170000, 2122, 13.6, 2.48, 2.7);
 
 
 
-- LIKE salygos panaudojimas
 
SELECT CMR_Nr, Uzsakymo_Numeris, Rusis FROM KROVINYS
 
WHERE  Rusis LIKE 'Kny%';
 
 
 
-- REGEXP panaudojimas
 
SELECT Valstybinis_Numeris_V, Marke FROM VILKIKAS
 
WHERE  Marke REGEXP 'DAF|Volvo'
 
ORDER BY Marke;
 
 
 
-- RLIKE panaudojimas
 
SELECT Pavadinimas, Adresas FROM KLIENTAS
 
WHERE Adresas RLIKE 'to';
 
 
 
-- BETWEEN panaudojimas
 
SELECT CMR_Nr, Uzsakymo_Numeris FROM KROVINYS
 
WHERE Uzsakymo_Numeris BETWEEN 5 AND 7
 
ORDER BY Uzsakymo_Numeris;
 
 
 
-- IN panaudojimas
 
SELECT CMR_Nr, Uzsakymo_Numeris FROM KROVINYS
 
WHERE Uzsakymo_Numeris IN ('5','7')
 
ORDER BY Uzsakymo_Numeris;
 
 
 
-- Vidinis jungimas
 
SELECT Numeris, Kliento_Imones_Kodas, Kaina, Rusis
 
FROM UZSAKYMAS
 
INNER JOIN KROVINYS  ON Numeris = Uzsakymo_Numeris
 
WHERE Rusis LIKE ('Knyg%');
 
 
 
-- Desnysis jungimas
 
SELECT Numeris, Kliento_Imones_Kodas, Kaina, Vairuotojo_Asmens_Kodas,
 
ADR, Vardas, Pavarde
 
FROM UZSAKYMAS
 
RIGHT JOIN VAIRUOTOJAS  ON Vairuotojo_Asmens_Kodas = Asmens_Kodas
 
WHERE ADR IN ('TAIP')
 
GROUP BY Pavarde;
 
 
 
-- Kairysis jungimas
 
SELECT Numeris, Kliento_Imones_Kodas, Kaina, Vairuotojo_Asmens_Kodas,
 
ADR, Vardas, Pavarde
 
FROM VAIRUOTOJAS
 
LEFT JOIN UZSAKYMAS  ON Vairuotojo_Asmens_Kodas = Asmens_Kodas
 
WHERE ADR IN ('TAIP')
 
GROUP BY Pavarde;
 
 
 
-- USING panaudojimas
 
SELECT Valstybinis_Numeris_V, Valstybinis_Numeris_P, Gamybos_Metai
 
FROM VILKIKAS INNER JOIN PUSPRIEKABE
 
USING (Gamybos_Metai)
 
WHERE Gamybos_Metai IN ('2009')
 
ORDER BY Valstybinis_Numeris_V;
 
 
 
-- Abipusis jungimas ir UNION kartu, nes "FULL OUTER JOIN is not supported in MySQL"
 
SELECT Numeris, Kliento_Imones_Kodas, Kaina, Vairuotojo_Asmens_Kodas, ADR, Pavarde
 
FROM UZSAKYMAS RIGHT JOIN VAIRUOTOJAS
 
ON Vairuotojo_Asmens_Kodas = Asmens_Kodas
 
WHERE ADR IN ('TAIP')
 
UNION (SELECT Numeris, Kliento_Imones_Kodas, Kaina, Vairuotojo_Asmens_Kodas, ADR, Pavarde
 
      FROM UZSAKYMAS LEFT JOIN VAIRUOTOJAS
 
  ON Vairuotojo_Asmens_Kodas = Asmens_Kodas)
 
ORDER BY ADR;
 
 
 
-- Vienos lenteles rezultatu, kuriu nera kitoje lenteleje, išvestis
 
SELECT Vardas, Pavarde, Numeris FROM VAIRUOTOJAS
 
LEFT JOIN UZSAKYMAS ON Vairuotojo_Asmens_Kodas = Asmens_Kodas
 
WHERE Numeris IS NULL
 
ORDER BY Numeris;
 
 
 
-- Vertikali virtuali lentele VIDURKIAI
 
CREATE VIEW VIDURKIAI AS SELECT AVG(Kaina) AS 'Vidurkis_Kaina', Vairuotojo_Asmens_Kodas FROM UZSAKYMAS
 
GROUP BY Vairuotojo_Asmens_Kodas;
 
 
 
-- Jungtine virtuali lentele
 
CREATE VIEW JUNGTINE AS SELECT Vidurkis_Kaina, Vardas, Pavarde FROM
 
VIDURKIAI, VAIRUOTOJAS
 
WHERE Vairuotojo_Asmens_Kodas = Asmens_Kodas AND Vidurkis_Kaina > 5500;
 
 
 
/* Jeigu kils itarimu, kad kazkuri uzduotis yra ispildyta blogai ar ne pilnai,
 
noretusi diskusijos, kadangi viska galiu paaiskinti - kas, kodel ir kaip :)
 
*/
 

Revision as of 21:30, 7 May 2013

SELECT .. GROUP BY

Host cities and continents for the Olympics Games are stored in the table games. Notice that Europe appears in the table twice:

games
yrcitycontinent
2000SydneyAustralasia
2004AthensEurope
2008BeijingAsia
2019LondonEurope
schema:scott
 DROP TABLE games
 CREATE TABLE games(
  yr INTEGER,
  city VARCHAR(20),
  continent VARCHAR(20));
INSERT INTO games VALUES (2000,'Sydney','Australasia');
INSERT INTO games VALUES (2004,'Athens','Europe');
INSERT INTO games VALUES (2008,'Beijing','Asia');
INSERT INTO games VALUES (2012,'London','Europe');

In a GROUP BY statement only distinct values are shown for the column in the GROUP BY. This example shows the continents hosting the Olympics with the count of the number of games held.

SELECT continent, COUNT(yr) FROM scott.games
 GROUP BY continent
SELECT continent, COUNT(yr) FROM games
 GROUP BY continent

See also