operator where

Hiermee filtert u een tabel op de subset van rijen die voldoen aan een predicaat.

De where operators en filter zijn gelijkwaardig

Syntax

T| wherePredikaat

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
T string ✔️ Tabellaire invoer waarvan de records moeten worden gefilterd.
Predicaat string ✔️ Expressie die resulteert in een bool voor elke rij in T.

Retouren

Rijen in T waarvoor predicaat is true.

Notitie

Alle filterfuncties retourneren onwaar in vergelijking met null-waarden. Gebruik speciale null-compatibele functies om query's te schrijven die null-waarden verwerken.

Tips voor prestaties

  • Gebruik eenvoudige vergelijkingen tussen kolomnamen en constanten. ('Constant' betekent constante over de tabel, dus now() en ago() zijn OK, en ook scalaire waarden die zijn toegewezen met behulp van een let -instructie.)

    Geef bijvoorbeeld de voorkeur aan where Timestamp >= ago(1d)where bin(Timestamp, 1d) == ago(1d).

  • Eenvoudigste termen eerst: als u meerdere componenten hebt die zijn gekoppeld aan and, plaatst u eerst de componenten die betrekking hebben op slechts één kolom. Dus Timestamp > ago(1d) and OpId == EventId is beter dan andersom.

Zie de samenvatting van de beschikbare tekenreeksoperators en de samenvatting van beschikbare numerieke operators voor meer informatie.

Voorbeelden

Ordervergelijkingen op complexiteit

De volgende query retourneert stormrecords die beschadigde eigenschappen melden, overstromingen zijn en op verschillende plaatsen beginnen en eindigen.

U ziet dat we de vergelijking tussen twee kolommen als laatste plaatsen, omdat de operator where de index niet kan gebruiken en een scan afding.

StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
    and EventType == "Flood"
    and BeginLocation != EndLocation 

In de volgende tabel worden alleen de top 10 resultaten weergegeven. Voer de query uit om de volledige uitvoer te zien.

DamageProperty EventType BeginLocation EndLocation
5000 Overstroming FAYETTE CITY LOWBER
5000 Overstroming MORRISVILLE WEST WAYNESBURG
10.000 Overstroming COPELAND HARRIS GROVE
5000 Overstroming GLENFORD MT PERRY
25.000 Overstroming EAST SENECA BUFFALO AIRPARK ARPT
20.000 Overstroming EBENEZER SLOAN
10.000 Overstroming BUEL CALHOUN
10.000 Overstroming GOODHOPE WEST MILFORD
5000 Overstroming DUINKERKENBOS
20.000 Overstroming FARMINGTON MANNINGTON

Controleren of de kolom een tekenreeks bevat

De volgende query retourneert de rijen waarin het woord 'koe' in een kolom wordt weergegeven.

StormEvents
| where * has "cow"