Praca z kolumny w kwerendach agregacja (Visual Database Tools)
Po utworzeniu agregacja kwerendy Kwerendy i projektanta widoku pewne założenia, dzięki czemu go może utworzyć prawidłowej kwerendy.Na przykład, jeśli tworzysz agregacja kwerendy i kolumna danych wyjściowych, kwerendę i projektanta widoku automatycznie umieszcza tę kolumnę do klauzula GROUP BY, tak aby użytkownik nie przypadkowo próbuj do wyświetlenia w podsumowaniu zawartości pojedynczego wiersza.
Za pomocą Grupuj według
Kwerendę i projektanta widoku wykorzystuje następujące wskazówki dotyczące pracy z kolumnami:
Wybierz opcję Grupuj według lub dodać funkcja agregująca do kwerendy, wszystkie kolumny oznaczone do wyprowadzenia lub wykorzystywane do sortowania są automatycznie dodawane do klauzula GROUP BY.Kolumny nie są automatycznie dodawane do klauzula GROUP BY, jeśli są już częścią funkcja agregująca.
Jeśli nie chcesz, aby dana kolumna jest częścią klauzula GROUP BY, użytkownik musi ręcznie zmienić, wybierając inną opcję w kolumnie Grupuj według w okienku kryteriów.Jednak kwerendę i projektanta widoku nie uniemożliwią wybraniem opcji może spowodować kwerendę, która nie będzie działać.
W przypadku ręcznego dodania kolumna danych wyjściowych kwerendy do funkcja agregująca w kryteria lub SQL okienku kwerendę i projektanta widoku nie powoduje automatycznego usunięcia inne kolumna wyjściowe z kwerendy.Należy więc usunąć pozostałe kolumny z wyniku kwerendy lub je do klauzula GROUP BY lub funkcja agregująca.
Po wprowadzeniu warunek wyszukiwania kolumna Filtr w okienku kryteriów kwerendę i projektanta widoku następujący tych reguł:
Jeśli Grupuj według kolumna z siatki nie jest wyświetlana (ponieważ nie określono jeszcze kwerenda agregująca), warunek wyszukiwania jest umieszczany w klauzula WHERE.
Jeśli jesteś już in agregacja kwerendy i wybrano opcję Gdzie in the Grupuj według kolumnie, warunek wyszukiwania jest umieszczany w klauzula WHERE.
Jeśli Grupuj według kolumna zawiera wartość inną niż Gdzie, warunek wyszukiwania jest umieszczany w klauzula HAVING.
Przy użyciu klauzuli HAVING i WHERE klauzule
Następujące zasady opisują, w jaki sposób odwoływania się do kolumn w agregacja kwerendy w warunkach wyszukiwania.Ogólnie rzecz biorąc, można użyć kolumna w warunek wyszukiwania do filtrowania wierszy, które powinny być sumowane (klauzula WHERE) lub aby określić, które zgrupowane wyniki są wyświetlane w ostatecznym wydruku (klauzuli HAVING).
Poszczególne kolumny danych mogą być wyświetlane w WHERE lub HAVING, w zależności od tego, w jaki sposób są stosowane w innych miejscach kwerendy.
Klauzule WHERE służą do wybierania podzbiór wierszy sumowania i grupowania i w ten sposób są stosowane przed wszelkie grupowanie jest wykonywane.Dlatego też można użyć kolumna danych w klauzula WHERE nawet wtedy, gdy nie jest częścią klauzula GROUP BY lub w funkcja agregująca.Na przykład następująca instrukcja wybiera wszystkie tytuły o cenie wyższej niż 10,00 dolarów i oblicza średnią cenę:
SELECT AVG(price) FROM titles WHERE price > 10Po utworzeniu warunek wyszukiwania, które wiąże się z kolumna używane także w klauzula GROUP BY lub agregacja działał, warunek wyszukiwania może postać klauzula WHERE lub klauzulę HAVING — można określić, które po utworzyć warunek.Na przykład poniższa instrukcja tworzy średnia cena dla tytułów każdego Wydawca, a następnie wyświetla średnią dla wydawców, w których średnia cena jest większa niż 10,00 dolarów:
SELECT pub_id, AVG(price) FROM titles GROUP BY pub_id HAVING (AVG(price) > 10)Jeśli w warunek wyszukiwania używana jest funkcja agregująca, warunku występuje podsumowanie i dlatego musi być częścią klauzula HAVING.