Operátor where
Filtruje tabulku na podmnožinu řádků, které splňují predikát.
Operátory
where
afilter
jsou ekvivalentní.
Syntax
T| where
Predikátu
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
T | string |
✔️ | Tabulkový vstup, jehož záznamy se mají filtrovat. |
Predikátu | string |
✔️ | Výraz, který se vyhodnotí jako logická hodnota pro každý řádek v T. |
Návraty
Řádky v T, pro které je true
predikát .
Poznámka
Všechny funkce filtrování vrací při porovnání s hodnotami null hodnotu false. K zápisu dotazů, které zpracovávají hodnoty null, použijte speciální funkce podporující hodnoty null.
Tipy pro zvýšení výkonu
Používejte jednoduchá porovnání názvů sloupců a konstant. ("Konstanta" znamená konstantu nad tabulkou – jsou tedy
now()
vago()
pořádku a skalární hodnoty se přiřazují pomocílet
příkazu.)Například upřednostněte
where Timestamp >= ago(1d)
where bin(Timestamp, 1d) == ago(1d)
.Nejjednodušší termíny nejprve: Pokud máte více klauzulí přidružených k
and
, vložte nejprve klauzule, které zahrnují pouze jeden sloupec. TakžeTimestamp > ago(1d) and OpId == EventId
je lepší než naopak.
Další informace najdete v souhrnu dostupných řetězcových operátorů a v souhrnu dostupných číselných operátorů.
Příklady
Seřazení porovnání podle složitosti
Následující dotaz vrátí záznamy bouře, které hlásí poškozený majetek, jsou záplavy a začínají a končí na různých místech.
Všimněte si, že porovnáváme dva sloupce jako poslední, protože operátor where nemůže použít index a vynutí kontrolu.
StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
and EventType == "Flood"
and BeginLocation != EndLocation
Následující tabulka uvádí pouze prvních 10 výsledků. Pokud chcete zobrazit úplný výstup, spusťte dotaz.
Vlastnost poškození | Typ události | BeginLocation | Koncová poloha |
---|---|---|---|
5000 | Povodní | FAYETTE CITY LOWBER | |
5000 | Povodní | MORRISVILLE WEST WAYNESBURG | |
10000 | Povodní | COPELAND HARRIS GROVE | |
5000 | Povodní | GLENFORD MT PERRY | |
250 000 | Povodní | EAST SENECA BUFFALO AIRPARK ARPT | |
20000 | Povodní | EBENEZER SLOAN | |
10000 | Povodní | BUEL CALHOUN | |
10000 | Povodní | GOODHOPE WEST MILFORD | |
5000 | Povodní | DUNKIRK FOREST | |
20000 | Povodní | FARMINGTON MANNINGTON |
Kontrola, jestli sloupec obsahuje řetězec
Následující dotaz vrátí řádky, ve kterých se v libovolném sloupci zobrazí slovo "cow".
StormEvents
| where * has "cow"
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro