Aggregationen
Aggregationen können über die aggregate Funktion oder über die count Funktion erstellt werden.
Aggregation count
Für eine count Abfrage, steht die Funktion count bereit.
context.enableModules();
const { SelectBuilder } = require("ou.sp.SelectBuilder");
const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const db = new DBConnection("odbc", "ousp", dbUser, dbPassword);
try {
const rows = SelectBuilder.from("costcenter", db)
.count("id")
.where("recipient = 'R0100'")
.orWhere("recipient = 'R0200'")
.execute();
context.returnValue = JSON.stringify(rows);
} catch (error) {
context.errorMessage = error.message;
context.returnValue = -1;
} finally {
db?.close();
}
Rückgabe
[{ "count": 20 }]
Weitere Aggregationen
Unterstützt werden folgende Aggregatsfunktionen:
- COUNT
- SUM
- MIN
- MAX
- AVG
context.enableModules();
const { SelectBuilder } = require("ou.sp.SelectBuilder");
const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const db = new DBConnection("odbc", "ousp", dbUser, dbPassword);
try {
const rows = SelectBuilder.from("costcenter", db)
.aggregate("SUM", "id", "Summe")
.where("recipient = 'R0100'")
.orWhere("recipient = 'R0200'")
.execute();
context.returnValue = JSON.stringify(rows);
} catch (error) {
context.errorMessage = error.message;
context.returnValue = -1;
} finally {
db?.close();
}
Rückgabe
[{ "Summe": 210 }]