← Log Explorer / log-explorer
Podporované dotazy SQL
Tato stránka popisuje funkce SQL podporované nástrojem Log Explorer, včetně běžných agregačních funkcí, výrazů a klauzulí dotazů.
Diagram níže znázorňuje obecnou podobu platného dotazu podporovaného v Log Explorer. Ukazuje, jak standardní klauzule SQL, jako například SELECT, WHERE, GROUP BY, a ORDER BY : lze kombinovat a vytvářet tak podporované dotazy.
Mezi příklady dotazů patří:
SELECT * FROM table WHERE (a = 1 OR b = "hello") AND c < 25.89SELECT a, b, c FROM table WHERE d >= "GB" LIMIT 10
Klauzule SQL podrobně
Následující klauzule SQL definují strukturu a logiku dotazů v Log Explorer:
SELECT-SELECTklauzule určuje sloupce, které chcete získat z databázových tabulek. Může obsahovat jednotlivé názvy sloupců, výrazy nebo dokonce zástupné znaky pro výběr všech sloupců.FROM-FROMklauzule určuje tabulky, ze kterých se mají získat data. Udává zdroj dat proSELECTpříkaz.WHERE-WHEREklauzule filtruje řádky vrácené dotazem na základě zadaných podmínek. Umožňuje určit podmínky, které musí řádek splňovat, aby byl zahrnut do výsledné sady.SELECT DISTINCT: Odebere duplicitní řádky z výsledné sady.GROUP BY: Seskupuje řádky pro agregaci.GROUP BYklauzule se používá k seskupení řádků se stejnými hodnotami do souhrnných řádků.ORDER BY: Seřadí výslednou sadu.ORDER BYklauzule se používá k seřazení výsledné sady podle jednoho nebo více sloupců vzestupně nebo sestupně.LIMIT: Omezuje počet vrácených řádků.LIMITklauzule se používá k omezení počtu řádků vrácených dotazem. Často se používá společně sORDER BYklauzuli k získání prvníchNřádků nebo k implementaci stránkování.OFFSET: Před vrácením výsledků přeskočí zadaný počet řádků.
Následující části podrobněji popisují zbývající součásti znázorněné v diagramu, jako jsou agregační funkce, řetězcové a číselné výrazy a podporované operátory.
Funkce
Log Explorer podporuje řadu SQL funkcí pro transformaci, vyhodnocení nebo souhrn dat. Patří mezi ně skalární a agregační funkce.
Skalární funkce
Tyto funkce pomáhají manipulovat s hodnotami nebo je vyhodnocovat (často řetězce):
-
ARRAY_CONTAINS(array, element): Kontroluje, zda pole obsahuje daný prvek.Příklad
ARRAY_CONTAINS(['US', 'CA'], ClientCountry)Vrátí řádky, kde
ClientCountryje buďUSneboCA. -
SUBSTRING(string, from_number, for_number): Extrahuje část řetězce.Příklad
SUBSTRING(ClientRequestPath, 0, 5)Extrahuje prvních
5znaků zClientRequestPath. -
LOWER(string): Převede na malá písmena.Příklad
LOWER(ClientRequestUserAgent)Převede řetězec user agent na malá písmena.
-
UPPER(string): Převede na velká písmena.Příklad
UPPER(ClientCountry)Převede kód země na velká písmena.
Agregační funkce
Slouží k provádění výpočtů nad sadami řádků:
-
SUM(expression): Součet hodnot.Příklad
SUM(ClientRequestBytes)Sečte celkový počet bajtů, které si vyžádali klienti.
-
MIN(expression): Minimální hodnota.Příklad
MIN(OriginResponseDurationMs)Najde nejkratší dobu odezvy od origin serverů.
-
MAX(expression): Maximální hodnota.Příklad
MAX(OriginResponseDurationMs)Najde nejdelší dobu odezvy.
-
COUNT(expression): Počet řádků (může jít o všechny řádky nebo pouze hodnoty, které nejsou null).Příklad
COUNT(ClientRequestUserAgent)Spočítá, kolik řádků obsahuje hodnotu user agent.
-
COUNT(DISTINCT expression): Počet odlišných hodnot, které nejsou null.Příklad
COUNT(DISTINCT ClientIP)Spočítá, kolik unikátních IP adres klientů odeslalo požadavky.
-
AVG(expression): Průměr číselných hodnot.Příklad
AVG(OriginResponseDurationMs)Vypočítá průměrnou dobu odezvy originu v milisekundách.
Diagram níže znázorňuje gramatiku výrazů SQL včetně skalárních a agregačních funkcí.
Výrazy
Podmínky nebo logika používaná v dotazech:
CASE WHEN: Podmíněná logika (obdoba if-else).AS: Alias pro sloupce nebo tabulky.LIKE: Porovnávání podle vzoru.IN (list): Kontroluje, zda je hodnota v seznamu.BETWEEN ... AND ...: Kontroluje, zda hodnota spadá do daného rozsahu.Unary operator: Pracuje s jedním operandem (například-5).Binary operator: Pracuje se dvěma operandy (například5 + 3).Nested Expressions: Výraz uzavřený v závorkách, například( x > y )nebo( 1 ).Compound identifier: Vícedílný název (napříkladschema.table.column).Array: Kolekce hodnot (podporovaná různě podle SQL dialektu).Literals: představují hodnoty, například řetězce, čísla nebo pole.
Diagram níže znázorňuje gramatiku výrazů SQL a popisuje různé podoby, které může výraz mít, včetně sloupců, literálů, funkcí, operátorů a aliasů.
Diagram níže definuje gramatiku unárních operátorů, které pracují s jedním operandem (například negace nebo logické NOT):
Binární operátory
Slouží k aritmetickým, porovnávacím a logickým operacím:
- Aritmetické:
+,-,*,/,%(modulo) - Porovnávací:
>,<,>=,<=,=,!=(nebo<>)` - Logické:
AND,OR,XOR - Bitové:
&,|,^,>>,<< - Spojení řetězců:
||