operator where
Filtruje tabelę do podzestawu wierszy, które spełniają predykat.
Operatory
where
ifilter
są równoważne
Składnia
T| where
Predykat
Dowiedz się więcej o konwencjach składniowych.
Parametry
Nazwa | Typ | Wymagane | Opis |
---|---|---|---|
T | string |
✔️ | Dane wejściowe tabelaryczne, których rekordy mają być filtrowane. |
Predykat | string |
✔️ | Wyrażenie, które oblicza wartość logiczną dla każdego wiersza w języku T. |
Zwraca
Wiersze w języku T , dla których predykat to true
.
Uwaga
Wszystkie funkcje filtrowania zwracają wartość false w porównaniu z wartościami null. Używanie specjalnych funkcji obsługujących wartości null do zapisywania zapytań obsługujących wartości null.
Porady dotyczące wydajności
Użyj prostych porównań między nazwami kolumn i stałymi. ('Stała' oznacza stałą nad tabelą — tak
now()
iago()
są ok, a więc są wartości skalarne przypisane przy użyciulet
instrukcji).Na przykład wolisz
where Timestamp >= ago(1d)
.where bin(Timestamp, 1d) == ago(1d)
Najprostsze terminy: jeśli masz wiele klauzul conjoined z
and
, umieść pierwsze klauzule, które obejmują tylko jedną kolumnę. Tak jestTimestamp > ago(1d) and OpId == EventId
lepiej niż w drugą stronę.
Aby uzyskać więcej informacji, zobacz podsumowanie dostępnych operatorów ciągów i podsumowanie dostępnych operatorów liczbowych.
Przykłady
Porównanie kolejności według złożoności
Poniższe zapytanie zwraca rekordy burzy, które zgłaszają uszkodzoną właściwość, są powodziami i rozpoczynają się i kończą się w różnych miejscach.
Zwróć uwagę, że ostatnio umieściliśmy porównanie między dwiema kolumnami, ponieważ operator where nie może używać indeksu i wymusza skanowanie.
StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
and EventType == "Flood"
and BeginLocation != EndLocation
W poniższej tabeli przedstawiono tylko 10 pierwszych wyników. Aby wyświetlić pełne dane wyjściowe, uruchom zapytanie.
DamageProperty | Typ zdarzenia | BeginLocation | EndLocation |
---|---|---|---|
5000 | Powódź | FAYETTE CITY LOWBER | |
5000 | Powódź | MORRISVILLE WEST WAYNESBURG | |
10 000 | Powódź | COPELAND HARRIS GROVE | |
5000 | Powódź | GLENFORD MT PERRY | |
25 000 | Powódź | EAST SENECA BUFFALO AIRPARK ARPT | |
20000 | Powódź | EBENEZER SLOAN | |
10 000 | Powódź | BUEL CALHOUN | |
10 000 | Powódź | GOODHOPE WEST MILFORD | |
5000 | Powódź | LAS DUNKIRK | |
20000 | Powódź | FARMINGTON MANNINGTON |
Sprawdzanie, czy kolumna zawiera ciąg
Poniższe zapytanie zwraca wiersze, w których słowo "krowa" pojawia się w dowolnej kolumnie.
StormEvents
| where * has "cow"
Zawartość pokrewna
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla