Grupowanie danych klauzula GROUP BY

Podobne dokumenty
Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY

Podzapytania do tabel W miejscu w którym możemy użyć nazwy tabeli, możemy użyć podzapytania

Autor: Joanna Karwowska

Bazy danych - Materiały do laboratoriów IV

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Autor: Joanna Karwowska

SQL (ang. Structured Query Language)

Plan. ! Podzapytania (subqueries) ! Podzapytania do tabel. ! Podzapytanie jako wyrażenie. ! Podzapytania skorelowane. ! operatory IN, NOT IN

Podstawowe zapytania SELECT (na jednej tabeli)

SQL praca z tabelami 4. Wykład 7

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

SQL do zaawansowanych analiz danych część 1.

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Rozszerzenia grupowania

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

OLAP i hurtownie danych c.d.

10. Wybierz nazwy produktów oraz inf. o stanie magazynu dla produktów dostarczanych przez firmę.tokyo Traders.

Tabela SPRZEDAŻ WYCIECZEK

Język SQL, zajęcia nr 2

Zadania z SQLa (MS SQL Server)

E.14 Bazy Danych cz. 13 SQL Grupowanie danych i funkcje grupujące

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Bazy danych. dr inż. Arkadiusz Mirakowski

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Specyfika języka SQL powoduje, że łatwiej jest najpierw wytłumaczyć, jak korzystać z funkcji grupujących, a dopiero później jak grupować dane.

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty)

Wykład 8. SQL praca z tabelami 5

Bazy danych SQL Server 2005

Podstawy języka SQL cz. 2

Klasyczna Analiza Danych

Podstawowe funkcje dodatku linq w C#

Wykład 5. SQL praca z tabelami 2

NORTHWIND. Anonco.pl. ćwiczenia praktyczne. KiK s Tutorials. NORTHWIND dwiczenia praktyczne. ANONCO.PL/SQL SQLSERVERDLAOPORNYCH.WORDPRESS.

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

SQL do zaawansowanych analiz danych część 1.

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Ćwiczenie zapytań języka bazy danych PostgreSQL

Grupowanie i funkcje agregacji

Ćwiczenie 3 funkcje agregujące

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek

OnLine Analytical Processing (OLAP) Zapytania SQL

Grupowanie i funkcje agregujące

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Plan. ! Łączenie danych z wielu tabel. ! Użycie aliasów dla nazw tabel. " złączenia JOIN. " suma zbiorów - UNION

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

QUERY język zapytań do tworzenia raportów w AS/400

SQL - Structured Query Language. strukturalny język zapytań

Podyplomowe Studia Systemy informatyczne w logistyce

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Przestrzenne bazy danych Podstawy języka SQL

Język SQL w Delphi. 1. Kwerendy Przygotowanie do ćwiczenia Komenda SELECT

LAB 3 (część 1 Projektu)

Laboratorium Bazy danych SQL 3 1

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Microsoft SQL Server Podstawy T-SQL

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Wprowadzenie do baz danych

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Systemy GIS Tworzenie zapytań w bazach danych

PODZAPYTANIE (SUBSELECT)

1. Wyświetlić wszystkie liczby zawarte w tablicy tabl(). 2. Wyświetlić wyłącznie liczby ujemne zawarte w tablicy tabl().

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

select zam_id, cena_euro,(rank() over (partition by zam_id order by cena_euro)) from pozycjezamowien order by zam_id

Paweł Rajba

Operacja PIVOT w języku SQL w środowisku Oracle

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Plan. Łączenie danych z wielu tabel złączenia JOIN suma zbiorów - UNION Użycie aliasów dla nazw tabel

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

W y k ł a d SELECT. Polecenie wyświetlające zawartość tabeli. Składnia uproszczona: Temat: Polecenie SELECT. Plan wykładu:

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów

Język SQL. Rozdział 2. Proste zapytania

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Laboratorium Bazy danych SQL 2

Zapytania INSERT. Forma_platnosci. INSERT INTO forma_platnosci VALUES ('1', 'Gotówka'); INSERT INTO forma_platnosci VALUES ('2', 'Przelew odroczony');

Widok Connections po utworzeniu połączenia. Obszar roboczy

Krótki przegląd zapytań

Kurs. Podstawy MySQL

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Transkrypt:

Grupowanie danych klauzula GROUP BY! Użycie klazuli GROUP BY! Użycie klauzuli GROUP BY z klauzulą HAVING

Użycie klauzuli GROUP BY SELECT productid, orderid,quantity SELECT productid,sum(quantity) AS total_quantity GROUP BY productid SELECT productid,sum(quantity) AS total_quantity WHERE productid = 2 GROUP BY productid

Przykład! Napisz polecenie, które zwraca informacje o zamówieniach z tablicy order details. Zapytanie ma grupować i wyświetlać identyfikator każdego produktu a następnie obliczać ogólną zamówioną ilość. Ogólna ilość jest sumowana funkcją agregującą SUM i wyświetlana jako jedna wartość dla każdego produktu. SELECT productid, SUM(quantity) AS total_quantity FROM [order details] GROUP BY productid

Ćwiczenia 1. Podaj maksymalną cenę zamawianego produktu produktu dla każdego zamówienia 2. Posortuj zamówienia wg maksymalnej ceny produktu 3. Podaj maksymalną i minimalną cenę zamawianego produktu produktu dla każdego zamówienia 4. Podaj liczbę zamówień dostarczanych przez przez poszczególnych spedytorów 5. Który z spedytorów był najaktywniejszy w 1997 roku

Użycie klauzuli GROUP BY z klauzulą HAVING SELECT productid, orderid,quantity SELECT productid, SUM(quantity) AS total_quantity GROUP BY productid HAVING SUM(quantity)>=30

Przykład! Wyświetl listę identyfikatorów produktów i ilość dla tych produktów, których zamówiono ponad 1200 jednostek SELECT productid, SUM(quantity) AS total_quantity FROM [order details] GROUP BY productid HAVING SUM(quantity)>1200

Ćwiczenia 1. Wyświetl zamówienia dla których liczba pozycji zamówienia jest większa niż 5 2. Wiświetl klientów którzy dla których w 1998 roku zrealizowano więcej niż 8 zamówień (wyniki posortuj malejąco wg łącznej kwoty za dostarczenie zamówień dla kążdego z kilientów)

Generowanie wartości zagregowanych w zbiorach wynikowych! Użycie klazuli GROUP BY z operatorem ROLLUP! Użycie klauzuli GROUP BY z operatorem CUBE! Użycie funkcji GROUPING

Użycie klauzuli GROUP BY z operatorem ROLLUP SELECT productid, orderid, SUM(quantity) AS total_quantity GROUP BY productid, orderid WITH ROLLUP ORDER BY productid, orderid

Przykład! Przykład zwraca informacje o zamówieniach z tablicy order details.! Zapytanie zawiera instrukcję select z klauzulą GROUP BY bez operatora ROLLUP.! Przykład ten zwraca listę ogólnej ilości zamawianej dla każdego produktu w każdym zamówieniu, dla zamówień z orderid mniejszym niż 10250 SELECT orderid, productid, SUM(quantity) AS total_quantity FROM [order details] WHERE orderid < 10250 GROUP BY orderid, productid ORDER BY orderid, productid

Przykład! Przykład dodaje operator ROLLUP do poprzedniego wyrażenia. Zbiór wynikowy zawiera ogólną ilość dla: " każdego produktu w każdym zamówieniu " wszystich produktów dla każdego zamówienia " wszystkich produktów dla wszystkich zamówień SELECT orderid, productid, SUM(quantity) AS total_quantity FROM [order details] WHERE orderid < 10250 GROUP BY orderid, productid WITH ROLLUP ORDER BY orderid, productid

Użycie klauzuli GROUP BY z operatorem CUBE SELECT productid, orderid, SUM(quantity) AS total_quantity GROUP BY productid, orderid WITH CUBE ORDER BY productid, orderid

Użycie funkcji GROUPING SELECT productid, GROUPING (productid),orderid, GROUPING (orderid),sum(quantity) AS total_quantity GROUP BY productid, orderid WITH CUBE ORDER BY productid, orderid

Przykład! Przykład wykorzystuje funkcję GROUPING na kolumnach productid i orderid, które są wyświetlane w klauzuli GROUP BY.! Zbiór wynikowy ma dodatkową kolumnę po productid i orderid. Funkcja GROUPING zwraca 1, gdy wartości w określonej kolumnie zostały pogrupowane razem operatorem CUBE.! Zbiór wynikowy zawiera ogólną ilość dla każdego produktu dla każdego zamówienia, każdego produktu dla wszystkich zamówień, wszystkich produktów dla każdego zamówienia oraz totalną ilość dla wszystkich produktów i dla wszystkich zamówień. SELECT orderid, GROUPING (orderid),productid, GROUPING (productid),sum(quantity) AS total_quantity FROM [order details] WHERE orderid < 10250 GROUP BY orderid, productid WITH CUBE ORDER BY orderid, productid

Użycie klauzul COMPUTE i COMPUTE BY COMPUTE SELECT productid, orderid,quantity ORDER BY productid, orderid COMPUTE SUM(quantity) COMPUTE BY SELECT productid, orderid, quantity ORDER BY productid, orderid COMPUTE SUM(quantity) BY productid COMPUTE SUM(quantity)