Zum Hauptinhalt springen

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 }]