Agregační operace
Operace agregace vypočítá hodnotu jednoho z kolekce hodnot.Příklad agregace operace je výpočet průměrné denní teploty z denních hodnot teploty hodnotě za měsíc.
Následující obrázek ukazuje výsledky dvou různých agregace operací na posloupnost čísel.První operace sečte čísla.Druhá operace vrátí maximální hodnotu v sekvenci.
V následující části jsou uvedeny metody operátor standardního dotazu, které provádějí operace agregace.
Metody
Název metody |
Description |
Syntaxi výrazu dotazu C# |
Visual BasicSyntaxe dotazu výraz |
Další informace |
---|---|---|---|---|
Souhrn |
Provádí operaci vlastní agregaci hodnot kolekce. |
Nelze použít |
Nelze použít |
|
Průměr |
Vypočítá průměrnou hodnotu kolekce hodnot. |
Nelze použít |
Aggregate … In … Into Average() |
|
Počet |
Prvky v kolekci, volitelně pouze ty prvky, které splňují predikátu funkce počítá. |
Nelze použít |
Aggregate … In … Into Count() |
|
LongCount |
Vrátí počet prvků v kolekci velkých volitelně pouze ty prvky, které splňují predikátu funkce. |
Nelze použít |
Aggregate … In … Into LongCount() |
|
Max |
Určuje maximální hodnotu v kolekci. |
Nelze použít |
Aggregate … In … Into Max() |
|
Min |
Určuje minimální hodnotu v kolekci. |
Nelze použít |
Aggregate … In … Into Min() |
|
Součet |
Vypočítá součet hodnot v kolekci. |
Nelze použít |
Aggregate … In … Into Sum() |
Příklady syntaxe výraz dotazu
Průměr
Následující kód například používá Aggregate Into Average v klauzuli Visual Basic k výpočtu průměrné teploty v matici čísel, která představují teplot.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim avg = Aggregate temp In temperatures Into Average()
' Display the result.
MsgBox(avg)
' This code produces the following output:
' 76.65
Počet
Následující kód například používá Aggregate Into Count v klauzuli Visual Basic můžete zjistit počet hodnot v matici, které jsou větší než nebo rovna 80.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim highTemps As Integer = Aggregate temp In temperatures Into Count(temp >= 80)
' Display the result.
MsgBox(highTemps)
' This code produces the following output:
' 3
LongCount
Následující kód například používá Aggregate Into LongCount v klauzuli Visual Basic můžete zjistit počet hodnot v matici.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim numTemps As Long = Aggregate temp In temperatures Into LongCount()
' Display the result.
MsgBox(numTemps)
' This code produces the following output:
' 6
Max
Následující kód například používá Aggregate Into Max v klauzuli Visual Basic pro výpočet maximální teplota v matici čísel, která představují teplot.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim maxTemp = Aggregate temp In temperatures Into Max()
' Display the result.
MsgBox(maxTemp)
' This code produces the following output:
' 88.6
Min
Následující kód například používá Aggregate Into Min v klauzuli Visual Basic pro výpočet minimální teplota v matici čísel, která představují teplot.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim minTemp = Aggregate temp In temperatures Into Min()
' Display the result.
MsgBox(minTemp)
' This code produces the following output:
' 68.5
Součet
Následující kód například používá Aggregate Into Sum v klauzuli Visual Basic k výpočtu částky celkové náklady z pole hodnot, které představují výdaje.
Dim expenses() As Double = {560.0, 300.0, 1080.5, 29.95, 64.75, 200.0}
Dim totalExpense = Aggregate expense In expenses Into Sum()
' Display the result.
MsgBox(totalExpense)
' This code produces the following output:
' 2235.2
Viz také
Úkoly
Postupy: Výpočet hodnot sloupce v textovém souboru CSV (LINQ)
Postupy: Počet, suma nebo průměr dat pomocí LINQ (Visual Basic)
Postupy: Hledání minimální nebo maximální hodnoty ve výsledku dotazu pomocí LINQ (Visual Basic)
Postupy: Vytvoření dotazu na největší soubor či soubory v adresářovém stromu (LINQ)
Postupy: Vytvoření dotazu na celkový počet bajtů v sadě složek (LINQ)
Referenční dokumentace
Aggregate – klauzule (Visual Basic)