Grupowanie wierszy w wynikach kwerendy (ADP)

 Uwaga   Informacje w tym temacie mają zastosowanie tylko do projektów programu Microsoft Access (adp).

PokażInformacje podstawowe

Aby utworzyć sumy częściowe lub pokazać inne informacje podsumowujące dla podzbiorów danych w tabeli, należy użyć kwerendy agregującej i utworzyć grupy. Każda grupa zawiera podsumowanie danych dla wszystkich wierszy w tabeli, które zawierają tę samą wartość.

Na przykład, można wyświetlić średnią cenę książki w tabeli tytuły z uwzględnieniem podziału wyników według wydawców. W tym celu w kwerendzie należy określić grupowanie według wydawców (na przykład, w kolumnie id_wyd). Wyniki kwerendy mogą mieć następującą postać:

Dane wyjściowe kwerendy

W przypadku grupowania danych można wyświetlić jedynie dane podsumowania lub dane zgrupowane, na przykład:

  • Wartości w kolumnach zgrupowanych (klauzuli GROUP BY). W powyższym przykładzie kolumną wartości zgrupowanych jest kolumna id_wydawcy.
  • Wartości będące wynikiem funkcji agregujących, takich jak SUM( ) i AVG( ). W powyższym przykładzie druga kolumna jest tworzona przez zastosowanie funkcji AVG( ) wobec kolumny cena.

Nie można wyświetlić wartości z poszczególnych wierszy. Na przykład, jeśli dane zostaną zgrupowane tylko według wydawcy, w kwerendzie nie można wyświetlić poszczególnych tytułów. Dlatego w przypadku, gdy do wyników kwerendy są dodawane kolumny, Projektant kwerend automatycznie umieszcza je w klauzuli GROUP BY instrukcji wyświetlanej w okienku SQL. Jeśli natomiast dane w kolumnie mają zostać zagregowane, można dla tej kolumny określić funkcję agregującą.

Jeśli grupowanie odbywa się według więcej niż jednej kolumny, w kwerendzie dla każdej grupy wyświetlane są wartości zagregowane dotyczące wszystkich kolumn grupowania.

Na przykład, poniższa kwerenda wykonana w tabeli titles powoduje grupowanie według wydawcy (pub_id) oraz według rodzaju książki (type). Wyniki kwerendy są grupowane według wydawców oraz pokazują informacje podsumowujące dla każdego rodzaju książki, jakie publikuje dany wydawca:

SELECT pub_id, type, SUM(price) Total_price
FROM titles
GROUP BY pub_id, type
            

Dane wyjściowe mogą mieć następującą postać:

Dane wyjściowe kwerendy

PokażGrupowanie wierszy

  1. W oknie Baza danych w obszarze Obiekty kliknij pozycję Kwerendy obraz przycisku, kliknij kwerendę, którą chcesz otworzyć, a następnie na pasku narzędzi okna Baza danych kliknij przycisk Projektuj.
  2. Uruchom kwerendę, dodając do okienka Diagram tabele, widoki lub funkcje, które chcesz podsumować.

PokażJak?

Kwerendy tworzy się po to, aby pobrać dane z tabeli, widoku lub funkcji. Aby użyć dowolnego z tych obiektów w kwerendzie, należy go dodać do okienka Diagram.

PokażDodawanie do kwerendy tabeli, widoku lub funkcji zdefiniowanej przez użytkownika

  1. W oknie Baza danych w obszarze Obiekty kliknij pozycję Kwerendy obraz przycisku, kliknij kwerendę, którą chcesz otworzyć, a następnie na pasku narzędzi okna Baza danych kliknij przycisk Projektuj.
  2. W okienku Diagram kliknij tło prawym przyciskiem myszy i z menu skrótów wybierz polecenie Dodaj tabelę.
  3. W oknie dialogowym Dodawanie tabeli wybierz kartę Tabele, Widoki lub Funkcje.
  4. Na liście elementów kliknij dwukrotnie każdy z elementów, który chcesz dodać.
  5. Po zakończeniu dodawania elementów kliknij przycisk Zamknij.

Okienka Diagram, Siatka i SQL zostaną odpowiednio zaktualizowane przez projektanta kwerend.

Z okna bazy danych można także przeciągać obiekty do okienka Diagram. Można przeciągnąć tabelę, widok lub funkcję śródwierszową.

Możliwe jest również przeciąganie kolumn i tabel z projektanta bazy danych lub wklejanie ich ze Schowka.

Tabele i widoki są automatycznie dodawane do kwerendy, gdy w instrukcji w okienku SQL wystąpi odwołanie do nich.

Kolumny danych tabeli, widoku lub funkcji śródwierszowej nie są wyświetlane w projektancie kwerend, jeśli użytkownik nie ma wystarczających uprawnień dostępu. W takim wypadku dla danej tabeli, widoku lub funkcji śródwierszowej wyświetlany jest tylko pasek tytułu i pole wyboru * (wszystkie kolumny).

PokażDodawanie istniejącej kwerendy do nowej kwerendy

  1. W razie potrzeby kliknij przycisk SQL obraz przycisku, aby wyświetlić okienko SQL.
  2. W okienku SQL wpisz nawias otwierający i zamykający () za słowem FROM.
  3. Otwórz projektanta kwerend z istniejącą kwerendą. (Teraz otwarte są dwa okna projektanta kwerend).
  4. Wyświetl okienko SQL z wewnętrzną kwerendą — czyli istniejącą kwerendą, która jest dołączana do nowej, zewnętrznej kwerendy.
  5. Zaznacz cały tekst w okienku SQL i skopiuj go do Schowka.
  6. Kliknij okienko SQL nowej kwerendy, umieść kursor pomiędzy dodanymi nawiasami i wklej zawartość Schowka.
  7. Nie opuszczając okienka SQL, dodaj alias za nawiasem zamykającym. Więcej informacji na temat aliasów i podkwerend SQL można znaleźć w dokumentacji programu Microsoft SQL Server.
  1. Kliknij prawym przyciskiem myszy tło okienka Diagram, a następnie z menu skrótów wybierz polecenie Grupuj według. W okienku Siatka projektant kwerend doda do siatki kolumnę Grupuj według.
  2. Do okienka Siatka dodaj kolumnę lub kolumny, które chcesz zgrupować. Jeśli kolumna ma być wyświetlana w wynikach kwerendy, upewnij się, że dla wartości wyjściowych została wybrana kolumna Wyjściedocelowa.

Projektant kwerend doda klauzulę GROUP BY do instrukcji wyświetlanej w okienku SQL. Na przykład, instrukcja SQL może wyglądać następująco:

SELECT pub_id
FROM titles
GROUP BY pub_id
                  
  1. Dodaj do okienka Siatka kolumnę lub kolumny, które chcesz zagregować. Upewnij się, że kolumna ta jest oznaczona do wyprowadzania danych.
  2. W komórce siatki Grupuj według wybierz odpowiednią funkcję agregującą dla kolumny, która ma zostać zagregowana.

Projektant kwerend automatycznie przypisze alias kolumny do podsumowywanej kolumny. Ten automatycznie wygenerowany alias można zastąpić aliasem bardziej opisowym.

Dane wyjściowe kwerendy

Odpowiadająca temu instrukcja wyświetlana w okienku SQL może mieć następującą postać:

SELECT pub_id, SUM(price) AS Totalprice
FROM titles
GROUP BY pub_id
                  
 
 
Dotyczy:
Access 2003