Piszę zapytanie, aby pobrać rekordy z magazynu Oracle. Jest to proste Wybierz zapytanie z łączeń na kilku tabelach i mam kilka kolumn do agregacji. Dlatego też używam Groupby w pozostałych kolumnach.Grupa według partycji Partycja w Oracle
Powiedz, że wybieram około 10 kolumn, z których 5 to kolumny zbiorcze. więc muszę pogrupować według pozostałych 5 kolumn. Mogę nawet osiągnąć to samo, nie robiąc Groupby i używając klauzuli over (paritition by) na każdej kolumnie agregującej, którą chcę wyprowadzić.
Nie jestem pewien, który jest lepszy w porównaniu z magazynem lub ogólnie.
Próbuję zrozumieć. Popraw mnie, jeśli się mylę. więc jeśli odróżniam drugie zapytanie, otrzymam pierwszy wynik zapytania. Użyłem partycji tylko do rangi() nad pewną klauzulą opartą na kolumnie partycji i otrzymam pierwszą pozycję. W jakim przypadku użyteczny będzie drugi wynik zapytania? dziękuję –
Powiedziałbym, że jeśli można to zrobić przy użyciu GROUP BY, jest to lepsze. Funkcje analityczne powinny być używane w przypadkach, w których chcesz, aby poszczególne wiersze oraz niektóre informacje zbiorcze - jak na przykład rang(). –
@ Tony ... dziękuję .. coraz lepsze zdjęcie ... –