DateTime, Nullable, Array, etc.), and the alert engine may not be able to parse complex types directly. It's recommended to use functions like toString(), toFloat64() in SQL to convert results to basic types.service_name. This field can be left empty, and Monitors will automatically treat all fields except value fields as label fields.error_cnt.$A.field_name to reference values.Critical: $A.error_cnt > 50, Warning: $A.error_cnt > 10.$A.error_cnt < 5).${label_name} variable substitution.network_host="a", interface="b" is down. The recovery SQL can be:${network_host} and ${interface} with actual values before executing the query. If data is found, recovery is confirmed.HAVING clause in SQL to directly filter out anomalous data.probe_id appeared in previous cycles but cannot be found in the current and N consecutive cycles, a "no data" alert is triggered.toString(uuid)toFloat64(avg_duration)WHERE clause to leverage indexes for query acceleration.timestamp > now() - INTERVAL 5 MINUTE or timestamp > toDateTime(now()) - 300.