Funkcje SQL Min i Maks

Funkcje SQL Min i Maks
Niezależnie od tego, czy współpracuje z ANSI SQL, czy innymi smakami SQL, z pewnością napotkasz funkcje Min () i Max () w agregowanych operacjach. Są to niektóre z podstawowych funkcji dla prostych zadań i złożonych operacji agregacji. W tym artykule zbadano, co robi każda funkcja, odpowiadająca jej składnia i praktyczne przykłady, kiedy użyć tych funkcji. Uwaga: Ten samouczek ilustruje sposób korzystania z tych funkcji w ANSI SQL, znanym również jako standardowy SQL. Powinny jednak wykonywać podobne działania nawet w innych smakach SQL.

Funkcja sql min ()

Zacznijmy od funkcji min (). Ta funkcja pozwala pobrać najmniejszą wartość w zestawie danych wartości. Możesz podać wartości wejściowe jako kolumnę numeryczną lub wynik wyrażenia, które zwraca wartość numeryczną.

Funkcja min () jest funkcją agregowaną i zwraca pojedynczą wartość liczbową z danego wejścia.

Składnia funkcji można wyrazić, jak pokazano:

Min (wyrażenie)

Funkcja akceptuje pojedynczy argument jako wyrażenie lub dany zestaw kolumny.

Weź poniższy przykład:

WYBIERAĆ
Min (x) jako najmniejszy
Z
najskuteczniejsze ([100, 102, 2, 233, 11, 12]) jako x;

Uruchomienie powyższego kodu powinno zwrócić najmniejszą wartość z danej tablicy.

najmniejsze |
--------+
2 |

Funkcje SQL Max ()

Jak sama nazwa wskazuje, funkcja max () pozwala uzyskać największą liczbę w danym zestawie wartości numerycznych. Podobnie możesz przekazać zestaw wartości jako kolumnę numeryczną lub wynik danego wyrażenia, które zwraca wartość numeryczną.

Składnia funkcji jest jak pokazana:

Maks. (Wyrażenie)

Rozważ poniższy przykład:

WYBIERAĆ
Max (x) jako największy
Z
najskuteczniejsze ([100, 102, 2, 233, 11, 12]) jako x;

Kod powyżej powinien pobierać największą wartość z danej tablicy. Przykładem jest to, jak pokazano:

największy |
-------+
233 |

Przykładowe dane

Najlepiej wykorzystajmy dokładne dane światowe, aby zilustrować różne zastosowania funkcji MIN i MAX. Weźmy przykładowe dane pokazane poniżej:

Utwórz bazę danych local_db;
Użyj local_db;
Utwórz bazy danych tabeli (
Id Int Not Null tożsamość (1,1) klucz podstawowy,
Server_name Varchar (50),
server_address varchar (255) nie null,
kompresja_method varchar (100) Domyślnie „Brak”,
size_on_disk float nie null,
size_Compressed Float,
total_records int not null
);
Wstaw do baz danych (nazwa_wokowa, server_address, Compression_method, size_on_disk, size_Compressed, Total_Records)
Wartości („mysql”, „localhost: 3306”, „LZ77”, 90.66, 40.04, 560000),
(„Redis”, „Localhost: 6307”, „Snappy”, 3.55, 998.2, 100000),
(„Postgresql”, „LocalHost: 5432”, „pGLZ”, 101.2, 98.01, 340000),
(„ElasticSearch”, „Localhost: 9200”, „LZ4”, 333.2, 300.2, 1200000),
(„MongoDB”, „Localhost: 27017”, „Snappy”, 4.55, 4.10, 620000),
(„Apache Cassandra”, „Localhost: 9042”, „Zstd”, 300.3, 200.12, 10000000);
Wybierz * z baz danych;

Uwaga: powyższe dane są czysto fikcyjne i nie reprezentują rzeczywistych możliwości bazy danych ani współczynnika kompresji.

Tabela wyjściowa:

Przykład 1 - za pomocą funkcji min i maksymalnych w pojedynczej kolumnie

Możemy użyć funkcji min i maks. W danej kolumnie tabeli, aby pobrać odpowiednio najmniejszą i największą wartość z kolumny.

Na przykład, aby uzyskać bazę danych o najmniejszym rozmiarze na dysku, możemy uruchomić zapytanie jako:

WYBIERAĆ
Min (size_on_disk) jako najmniejszy
Z
Bazy danych;

Powyższe zapytanie powinno zwrócić najmniejszy rozmiar z kolumny size_on_disk, jak pokazano na poniżej:

najmniejszy_size |
-------------+
3.55 |

W przypadku największego rozmiaru użyj funkcji maksymalnej:

WYBIERAĆ
Max (size_on_disk) jako największy_size
Z
Bazy danych;

Wynik:

Największy_Size |
------------+
333.2 |

Przykład 2 - za pomocą funkcji min i maks. Z grupą według

Możemy również uwzględnić inne kolumny przy użyciu grupy według funkcji podczas pracy z funkcją agregatów.

Na przykład, aby pokazać nazwę_ Server:

WYBIERAĆ
Max (size_on_disk) jako największy_size,
Nazwa serwera
Z
Bazy danych
Grupa według nazwy_ server;

Grupa według klauzuli ma kluczową rolę w kategorii danych na określone partycje i znajdziesz minimalną lub maksymalną wartość z każdego podziału.

Przykład 3 - Używanie min i maks. W tym samym zapytaniu

Możemy również użyć dwóch funkcji zagregowanych w tym samym zapytaniu, jak pokazano na powyższym wyjściu:

WYBIERAĆ
Max (size_on_disk) jako największy_size,
Min (size_on_disk) jako najmniejszy
Z
Bazy danych;

Przykładem jest to, jak pokazano:

największy_size | najmniejszy_size |
------------+-------------+
333.2 | 3.55 |

Przykład 4 - Połączenie funkcji min i maksymalnych z klauzulą ​​posiadającą

Poniższy przykład pokazuje, jak używać funkcji Min i Max () do filtrowania wyników za pomocą klauzuli posiadania.

Wybierz Server_name, Max (Total_Records) jako największy
Z grupy baz danych według nazwy_ serwerów o maks. (Total_Records) = 100000;

Wynikowe wyjście:

Server_name | największy |
-----------+-------+
Redis | 100000 |

Zamknięcie

W tym poście szeroko badaliśmy, jak korzystać z funkcji Min i Max () w SQL. Omówiliśmy również praktyczne przykłady korzystania z tych dwóch funkcji w twoich aplikacjach.