Lathund för SQL till Kusto

Kusto stöder en delmängd av SQL språk. En fullständig lista över funktioner SQL finns i listan över kända problem.

Det primära språket att interagera med Kusto är KQL (Kusto Query Language). För att underlätta övergången och inlärningen kan du använda Kusto för att översätta SQL frågor till KQL. Skicka en SQL till Kusto och prefixera den med verbet "EXPLAIN".

Exempel:

EXPLAIN 
SELECT COUNT_BIG(*) as C FROM StormEvents 
Söka i data
StormEvents
| summarize C=count()
| projekt C

Lathund för SQL till Kusto

Tabellen nedan visar exempelfrågor i SQL deras KQL-motsvarigheter.

Kategori SQL fråga Kusto-fråga
Välj data från tabell SELECT * FROM dependencies dependencies
-- SELECT name, resultCode FROM dependencies dependencies | project name, resultCode
-- SELECT TOP 100 * FROM dependencies dependencies | take 100
Nullutvärdering SELECT * FROM-beroenden
WHERE resultCode IS NOT NULL
Beroenden
| where isnotnull(resultCode)
Jämförelseoperatorer (datum) SELECT * FROM-beroenden
WHERE-tidsstämpel > getdate()-1
Beroenden
| where timestamp > ago(1d)
-- SELECT * FROM-beroenden
WHERE-tidsstämpel MELLAN ... OCH...
Beroenden
| where timestamp > datetime(2016-10-01)
  and timestamp < = datetime(2016-11-01)
Jämförelseoperatorer (sträng) SELECT * FROM-beroenden
WHERE type = "Azure blob"
Beroenden
| where type == "Azure blob"
-- -- delsträng
SELECT * FROM-beroenden
WHERE-typ som "%blob%"
Delsträng
Beroenden
| där typen innehåller "blob"
-- – jokertecken
SELECT * FROM-beroenden
WHERE-typ som "Azure%"
Jokertecken
Beroenden
| där typen börjarmed "Azure"
Eller
Beroenden
| där typen matchar regex "^Azure.*"
Jämförelse (boolesk) SELECT * FROM-beroenden
DÄR! (lyckades)
Beroenden
| where success == "False"
Gruppering, sammansättning SELECT name, AVG(duration) FROM dependencies
GROUP BY name (GRUPPERA EFTER namn)
Beroenden
| sammanfatta genomsnittlig (varaktighet) efter namn
Distinct SELECT DISTINCT name, type FROM dependencies Beroenden
| sammanfatta efter namn, skriv
-- SELECT name, COUNT(DISTINCT type)
FROM-beroenden
GROUP BY name (GRUPPERA EFTER namn)
Beroenden i
| sammanfatta efter namn, skriv | summarize count() efter namn
eller ungefärlig för stora uppsättningar
Beroenden
| summarize dcount(type) by name
Kolumnalias, Utöka SELECT operationName som Namn, AVG(duration) som AvgD FROM-beroenden
GROUP BY name (GRUPPERA EFTER namn)
Beroenden
| summarize AvgD = avg(duration) by Name=operationName
Ordna profiler SELECT-namn, tidsstämpel FRÅN-beroenden
ORDER BY-tidsstämpel ASC
Beroenden
| projektnamn, tidsstämpel
| order by timestamp asc nulls last
Översta n efter mått SELECT TOP 100 name, COUNT(*) as Count FROM dependencies
GROUP BY name (GRUPPERA EFTER namn)
ORDER BY Count DESC
Beroenden
| summarize Count = count() by name
| översta 100 efter Count desc
Union SELECT * FROM-beroenden
UNION
SELECT * FROM-undantag
union dependencies, exceptions
-- SELECT * FROM-beroenden
WHERE-tidsstämpel > ...
UNION
SELECT * FROM-undantag
WHERE-tidsstämpel > ...
Beroenden
| where timestamp > ago(1d)
| Unionen
  (undantag
  | where timestamp > ago(1d))
Anslut SELECT * FROM-beroenden
UNDANTAG FÖR VÄNSTER YTTRE KOPPLING
ON dependencies.operation_Id = exceptions.operation_Id
Beroenden
| join kind = leftouter
  (undantag)
på $left.operation_Id == $right.operation_Id
Kapslade frågor SELECT * FROM-beroenden
WHERE resultCode ==
(SELECT TOP 1 resultCode FROM dependencies
WHERE resultId = 7
ORDER BY timestamp DESC)
Beroenden
| where resultCode == toscalar(
  Beroenden
  | där resultId == 7
  | top 1 by timestamp desc
  | project resultCode)
Har SELECT COUNT(*) FROM-beroenden
GROUP BY name (GRUPPERA EFTER namn)
HAR COUNT(*) > 3
Beroenden
| summarize Count = count() by name
| där antal > 3